很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明想要定位的元素就在那儿,但就是定位不到,这种情况很有可能和frame有关。
在 web 应用中经常会出现 frame/iframe 嵌套的应用,假设页面上有 A、B 两个 frame,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B。
frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,selenium有如下三种方法对frame进行操作。
- driver.switch_to.frame(frame_reference)
- driver.switch_to.default_context()
本文介绍了使用Python3的Selenium WebDriver API处理frame和iframe的方法,包括switch_to.frame()、switch_to.default_context()和switch_to.parent_context(),并通过QQ邮箱登录实例进行演示,帮助解决因frame导致的元素定位问题。
订阅专栏 解锁全文


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



