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

Posted 测试一枝花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(selenium+python)_UI自动化04_定位iframe框架内元素相关的知识,希望对你有一定的参考价值。

什么是iframe?

iframe是HTML标签,作用是文档中的文档(即在当前 HTML 文档中嵌入另一个HTML文档),或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。

iframe框架内元素定位

selenium中定位iframe内元素,需先切换到iframe框架内,然后再进行元素定位,否则会报错找不到元素。

一、iframe常用切换

driver.switch_to_frame(iframe_element)  # 切换至iframe
driver.switch_to.default_content()  # 切回主页面
driver.switch_to_parent_frame()  # 切回上级iframe

二、iframe常见场景

1,仅一个iframe框架

    切换至iframe-->定位iframe内元素-->切回首页-->定位目标元素

2,存在多个iframe框架

    切换至iframe1-->定位iframe1内元素-->切回首页-->切换至iframe2-->定位iframe2内元素-->切回首页-->定位目标元素

3,iframe框架内嵌另一iframe框架

    切换至iframe1-->切换至iframe2-->定位iframe2内元素-->切回首页-->定位目标元素

三、实例

 网易邮箱登录,账号密码输入框元素在iframe内,故模拟网易邮箱登录如下:

 1 # 模拟网易邮箱登录
 2 from selenium import webdriver
 3 from time import sleep
 4  
 5 driver = webdriver.Chrome()
 6 driver.get("https://email.163.com/")  # 进入网易邮箱首页
 7 sleep(3)
 8  
 9 iframe_ele = driver.find_element_by_tag_name("iframe")  # 获取ifarme元素
10 driver.switch_to.frame(iframe_ele)  # 切换到iframe框架
11 driver.find_element_by_name("email").send_keys("AutoTest")  # 输入邮箱
12 driver.find_element_by_name("password").send_keys("123456")  # 输入密码
13 driver.find_element_by_id("dologin").click()  # 点击登录

以上是关于(selenium+python)_UI自动化04_定位iframe框架内元素的主要内容,如果未能解决你的问题,请参考以下文章

(selenium+python)_UI自动化10_cookie常用操作

(selenium+python)_UI自动化03_定位新开窗口内元素

(selenium+python)_UI自动化09_定位alert弹窗

(selenium+python)_UI自动化05_定位select下拉列表

Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)

Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例