0
点赞
收藏
分享

微信扫一扫

利用selenium框架爬取京东省市区数据时,网页里面内嵌的一个窗口遇到的NoSuchElementException的 bug,原因是iframe


Bug:

 

利用selenium框架爬取京东省市区数据时,网页里面内嵌的一个窗口遇到的NoSuchElementException的 bug,原因是iframe_bug

         在进行下面操作的时候遇到的,我需要把鼠标移动到下面的位置,这样页面会自动显示省份信息,我定位元素的方法是Xpath方式,但是直接报错了,我反复确定位置没有错误,我就一脸懵了,开始搜索寻找解决方案之路。

利用selenium框架爬取京东省市区数据时,网页里面内嵌的一个窗口遇到的NoSuchElementException的 bug,原因是iframe_bug_02

        解决方法是加上iframe = driver.find_element_by_xpath('//*[@id="dialogIframe"]')这样,因为这个页面的元素是嵌套在某个东西里面,你首先需要通过Switch_to的方式切换到这里,再用Xpath进行定位元素。相当于html里面嵌套了htm了

利用selenium框架爬取京东省市区数据时,网页里面内嵌的一个窗口遇到的NoSuchElementException的 bug,原因是iframe_selenium_03

iframe = driver.find_element_by_xpath('//*[@id="dialogIframe"]')
# 切换到iframe
driver.switch_to.frame(iframe)
# 在进行定位元素
hover_element=driver.find_element_by_xpath('//*[@id="jd_area"]/div[1]/div')
ActionChains(driver).move_to_element(hover_element).perform()

ActionChains相关知识可以看这个链接

​​(36条消息) 学会了selenium 模拟鼠标操作,你就可以偷懒点点点了_二 黑的博客-CSDN博客_selenium 鼠标移出​​

学习的一些资料:

​​4.元素定位 - selenium-python中文文档 (python-selenium-zh.readthedocs.io)​​

举报

相关推荐

0 条评论