一、不动脑子复制xpath找到元素标签
在用python+selenium定位页面元素的时候,如果不考虑代码复用,最方便的方法如下:
1 用开发者工具,选择下图红色框的箭头,定位到你要找的页面元素
2 例如选择下图蓝色元素,鼠标右键选择copy-copy Xpath即可
3 但是如果这个标签在iframe里面,用python根本访问不到,会报没有这个元素的错,或者如下错误,那我们怎么才能访问到iframe里面的元素标签呢?
二、switch_to. 方法(别漏了那个点)
1 切换到iframe:
#用id定位
driver.switch_to.frame("iframe")
#用name定位
driver.switch_to.frame("myiframe")
#用webElement对象定位
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
如果有嵌套的iframe,就一直用switch_to.frame()往里套就行,一层一层进去。
2 切到frame中便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档:
driver.switch_to.default_content()
3 嵌套的iframe以及返回其父iframe的方法:
#嵌套的iframe
driver.switch_to.frame("iframe1")
driver.switch_to.frame("iframe2")
#返回父iframe1,若当前就是iframe1,则返回父无效
driver.switch_to.patent_frame()