很多人在用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)