微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

web自动化测试-selenium多表单切换

一、概述

  1、在web应用中会经常遇到frame/iframe表单嵌套页面的应用

  2、WebDriver只能在一个页面上对元素进行识别与定位

  3、对于frame/iframe表单内嵌的页面上元素无法识别与定位

  4、此时就需要切换到frame/iframe表单中

  5、通过switch_to.frame()方法进行切换

  6、方法说明

    switch_to.parent_content() 跳出当前表单,回到上一级表单

    switch_to.default_content() 跳到最外层的页面

    可以通过frame_name、索引、webelement对象,建议采用webelement对象   

1 driver.switch_to.frame('frame_name')
2 driver.switch_to.frame(1) 
3 driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

二、代码实现

 1 from selenium import webdriver
 2 
 3 dr = webdriver.Chrome()
 4 dr.implicitly_wait(10)
 5 dr.get('http://xxxxxxxxxxx')
 6 
 7 #定位到frame元素
 8 frame=dr.find_element_by_xpath('xxxxx')
 9 dr.switch_to.frame('webelement对象')
10 
11 #回到最外层页面
12 dr.switch_to.default_content()
13 
14 #返回上一层的frame
15 dr.switch_to.parent_frame('webelement对象')
16 
17 dr.quit()

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐