前提:定位元素找不到结果元素
原因:
- 方法错误
- 存在frame或内嵌窗口(switch_to_frame、switch_to_window)
- 页面超时
1、存在多层frame
依据frame中的ID、name定位
#定位iframe1(ID=f1)、iframe2(ID=f2)
driver.switch_to_frame("f1")
driver.switch_to_frame("f2")
driver.find_element_by_id("xx").click()
#定义多层框架后,如若切回上级框架内

本文介绍了在使用Selenium进行网页元素定位时,如果遇到多层frame或内嵌窗口导致定位失败的问题,提出了相应的解决办法。包括通过frame的ID、name属性定位,以及在无ID、name时利用XPath和其他层级元素进行定位。同时推荐了firepath等插件辅助检查frame的存在,并提供了Chrome中使用XPath定位的技巧。
最低0.47元/天 解锁文章
5559

被折叠的 条评论
为什么被折叠?



