使用selenium时NoSuchElementException: Message: no such element: Unable to locate element:{...}
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
·
前言
在用Python写一些自动登录脚本的时候,发现老是定位元素失败,仔细检查了xpath没有错误,运行报错selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div/div/div/div[4]/button[1]"},换用css定位器等等都还是无法解决
关键代码如下
xpath4 = '/html/body/div/div/div/div/div[4]/button[1]'
answer_4 = driver.find_element_by_xpath(xpath4)
answer_4.click()
分析
检查所在位置是否隶属于iframe标签
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。selenium无法定位到内联框架,所以报错没有这个元素
解决
使用switch_to.frame()切换到内联框架
driver.switch_to.frame("iframe0")#注意,这里的iframe0改为需求网页的iframe的id名
xpath4 = '/html/body/div/div/div/div/div[4]/button[1]'
answer_4 = driver.find_element_by_xpath(xpath4)
answer_4.click()
参考博客
1.Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:2 个月前 )
c345bb45
1 年前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 1 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)