爬虫遇到iframe报错message: no such element: Unable to locate element或Element is not clickable at point
原创
©著作权归作者所有:来自51CTO博客作者加班永动机的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、iframe
今天使用selenium在爬取网易云碰到报错message: no such element: Unable to locate element:
当时我是直接定位到歌曲的超链接位置
SongLink=browser.find_element_by_class_name("s-fc7")
然后就报错说找不到这个element
翻阅了一些别人的博客,因为iframe是嵌套在页面里的一个子页面
在源代码中查找到了iframe的位置
所以你必须先进子页面iframe才能定位歌曲的超链接
so代码改成如下:
iframe = browser.find_element_by_class_name('g-iframe')
browser.switch_to.frame(iframe)
SongLink=browser.find_element_by_class_name("s-fc7")
从iframe切回主文档:
browser.switch_to.default_content()
2、执行速度过快
服务器端执行速度过快,导致页面不能加载出来,所以在爬虫代码中增加时延就可以了