2.7.2 元素定位:frame 内定位 driver.switch_to.frame()

Posted 风少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.7.2 元素定位:frame 内定位 driver.switch_to.frame()相关的知识,希望对你有一定的参考价值。

来源: http://blog.csdn.net/anniejunyan/article/details/23257327  Selenium + Webdriver 学习(五) frame下元素定位

          http://blog.csdn.net/huilan_same/article/details/52200586   selenium之 定位以及切换frame(iframe)

 

 

 

frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位。而frame与iframe对selenium定位而言是一样的,内部的元素都会不能直接定位到。

 

driver.switch_to.frame(reference)

driver.switch_to.parent_frame()        从子frame切回到父frame

driver.switch_to.default_content()        切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档。

 

frame 定位:

(1) 索引定位:driver.switch_to.frame(0)  

定位第一个frame (index 下标从0开始)。通常采用id和name就能够解决绝大多数问题。但有时候frame并无这两项属性,则可以用index和WebElement来定位。

(2) WebElement对象定位:  driver.switch_to.frame(driver.findElement(By.xpath("XXXXXX"))

即用find_element系列方法所取得的对象,我们可以用tag_name、xpath等来定位frame对象 

以上是关于2.7.2 元素定位:frame 内定位 driver.switch_to.frame()的主要内容,如果未能解决你的问题,请参考以下文章

学习Selenium元素定位--多表单切换

八年测试经验,吐血整理出Selenium无法定位元素的几种解决方案

selenium 中在 iframe 内的元素定位

4.9 多表单切换

(selenium+python)_UI自动化04_定位iframe框架内元素

Iframe相关操作