爬虫遇到iframe报错message: no such element: Unable to locate element或Element is not clickable at point

1、iframe

今天使用selenium在爬取网易云碰到报错message: no such element: Unable to locate element:
当时我是直接定位到歌曲的超链接位置

SongLink=browser.find_element_by_class_name("s-fc7")

然后就报错说找不到这个element
翻阅了一些别人的博客,因为iframe是嵌套在页面里的一个子页面
在源代码中查找到了iframe的位置
爬虫遇到iframe报错message: no such element: Unable to locate element或Element is not clickable at point_第1张图片
所以你必须先进子页面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、执行速度过快

服务器端执行速度过快,导致页面不能加载出来,所以在爬虫代码中增加时延就可以了

time.sleep(5)

你可能感兴趣的:(网络爬虫)