python+selenium的frame表单切换
switch_to.frame() 切换frame
switch_to.default_content() 切换到主页面 #从frame中切回主文档
switch_to.parent_frame() 这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用
# selenium给我们提供了一个方法能够从子frame切回到父frame,而不用我们切回主文档再切进来。
element = driver.switch_to.active_element 定位到当前聚焦的元素上
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
driver.switch_to.frame('frame_name') #name来点位
driver.switch_to.frame(1) #id来定位
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) #用webelement对象来定位,先获取对象
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意:此处 id是实时变动的,name为空;

from selenium import webdriver
from time import sleep
driver = webdriver.Firefox() url = "http://mail.163.com/"
driver.get(url) # 进入163邮箱首页
sleep(10) driver.find_element_by_id('switchAccountLogin').click() #点击密码登录 sleep(5)
print('1111111111111111') #driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) #复数,定位一组iframe的第一个 driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) #因为只有一个iframe,这个也可以用 sleep(5)
print('2222222222222222222222') driver.find_element_by_name('email').send_keys('shenyang123@&') #用户名框输入
sleep(10)
print('3333333333333333333333333333333333') driver.find_element_by_name('password').click() #密码框获取焦点 ele_box = driver.switch_to.active_element # 通过定位输当前焦点元素,并再次输入数据
ele_box.send_keys("12345sdfgh") sleep(10)
print('44444444444444444') driver.switch_to.default_content() #回到主界面 sleep(5) driver.find_element_by_link_text('网易首页').click() sleep(10) driver.close()
python+selenium的frame表单切换的更多相关文章
- python+selenium之多表单切换
在Web应用中经常会遇到fram/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于fram/iframe表单内嵌套页面上的元素无法直接定位.这是需要通过swit ...
- Python+selenium(多表单、多窗口切换)
多表单切换 案例:在Frame.html文件种定位搜狗搜索页面,进行搜索操作 Frame.html <html> <head> <title>Frame_test& ...
- selenium webdriver——多表单切换与多窗口切换
多表单切换 >>在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe 表单内嵌页面上的元素无 ...
- Selenium WebDriver多层表单切换
[Java] 首先 测试网站frame结构为 -topframe: -centerframe: -leftframe: -mainframe: -bottomframe: 我当时遇到的问题是,首先在c ...
- selenium 多表单切换处理(iframe/frame)
在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver 只能在同一页面识别定位元素 ...
- Selenium 3----定位一组元素+多表单切换+多窗口切换
定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...
- Selenium 2自动化测试实战15(多表单切换)
一.多表单切换 在web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...
- selenium多表单切换以及多窗口切换、警告窗处理
selenium表单切换 在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的.却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪. 切入表单:iddriver.switch_t ...
- 『心善渊』Selenium3.0基础 — 16、Selenium对iframe表单的操作
目录 1.什么是iframe表单 2.iframe表单操作流程 3.iframe表单操作常用方法 (1)进入表单 (2)多表单切换 4.表单操作示例 1.什么是iframe表单 实际上就是HTML页面 ...
随机推荐
- IP地址转二进制
例如216这个数 216 = 1 * 128 +1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 0 * 1 提取乘号之前的数字我们得到所代表的二进 ...
- Spring Boot 整合Spring Data JPA
Spring Boot整合Spring Data JPA 1)加入依赖 <dependency> <groupId>org.springframework.boot</g ...
- sql视频学习关键笔记(自用记单词与学习用)
sql字段类型 numeric(18,3)-18位整数加3位小数点(货币计量最好选这类型) sql关键字 insert. update. delete alter grant 授权. revoke 回 ...
- Arduino-数学函数
- 包、time、datetime、hashlib和hmac、request、re
目录 包 包的特点 time模块 datetime模块 hashlib模块和hmac模块 hmac密钥(加盐) typing模块 request模块 正则模块 以下必须得记住 哪些做了解 包 包,这里 ...
- Spring配置:用context:property-placeholder替换PropertyPlaceholderConfigurer
1.有时候需要从properties文件中加载配置,以前的方式是这样的: <bean id="jdbcProperties" class="org.springfr ...
- 特征提取算法(1)——纹理特征提取算法LBP
模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征.用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标. 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图.颜色 ...
- 3D Computer Grapihcs Using OpenGL - 04 First Triangle
本节将绘制一个三角形 先看最终代码: MyGlWindow.cpp: #include <gl\glew.h> #include "MyGlWindow.h" void ...
- Java 静态初始化块等的执行顺序
实例代码 package text; class Root { static{ System.out.println("Root的静态初始化块"); } { System.out. ...
- 版本基线自动化之Linux
上一篇笔者叙述了如何在windows平台上进行自动化打包,这次采用linux平台 1.start.bat : 调用cleanall.bat脚本 ,从svn服务器中检出代码,并采用7-Zip工具进行压缩 ...