frame嵌套页面定位_1.12

frameset 不用切,frame 需要层层切

frame 标签有 frameset、frame、iframe 三种,frameset 跟其他普通标签没有区别,不会影响到正常的定位,而 frame 与 iframe对selenium 定位而言是一样的,selenium 有一组方法对 frame 进行操作

1、怎么切到 frame 中 (switch_to.frame())

selenium 提供了 switch_to.frame() 方法来切换 frame

switch_to.frame(reference)

注意:switch_to_frame(),很多人在这样写的时候会发现,这句话被划上了删除线,原因是这个方法已经out了,之后很有可能会不支持,建议的写法是switch_to.frame()

reference 是传入的参数,用来定位 frame,可以传入 id、name、index、 以及 selenium 的WebElement 对象

案例:有如下的html文件

Freme_test

   

   

(1)从主文档切到 frame2,一层层切进去

driver.switch_to.frame("frame1") driver.switch_to.frame("frame2")

(2)从 frame2 在切回到 frame1 ,这里 selenium 给我们提供了一个方法能够从 子frame 切回到 父frame,而不用我们切回主文档在切进来

driver.switch_to.parent_frame() # 如果当前已是主文档,则无效果

有了parent_frame() 这个相当于后退的方法,我们可以随意切换不同的 frame,随意的跳来跳去了

所以只要善用一下三个方法,遇到 frame 分分钟搞定

 

 

 

 

 

 

 

你可能感兴趣的:(python+selenium)