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表单切换的更多相关文章

  1. python+selenium之多表单切换

    在Web应用中经常会遇到fram/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于fram/iframe表单内嵌套页面上的元素无法直接定位.这是需要通过swit ...

  2. Python+selenium(多表单、多窗口切换)

    多表单切换 案例:在Frame.html文件种定位搜狗搜索页面,进行搜索操作 Frame.html <html> <head> <title>Frame_test& ...

  3. selenium webdriver——多表单切换与多窗口切换

    多表单切换 >>在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe 表单内嵌页面上的元素无 ...

  4. Selenium WebDriver多层表单切换

    [Java] 首先 测试网站frame结构为 -topframe: -centerframe: -leftframe: -mainframe: -bottomframe: 我当时遇到的问题是,首先在c ...

  5. selenium 多表单切换处理(iframe/frame)

    在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver  只能在同一页面识别定位元素 ...

  6. Selenium 3----定位一组元素+多表单切换+多窗口切换

    定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...

  7. Selenium 2自动化测试实战15(多表单切换)

    一.多表单切换 在web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...

  8. selenium多表单切换以及多窗口切换、警告窗处理

    selenium表单切换 在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的.却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪. 切入表单:iddriver.switch_t ...

  9. 『心善渊』Selenium3.0基础 — 16、Selenium对iframe表单的操作

    目录 1.什么是iframe表单 2.iframe表单操作流程 3.iframe表单操作常用方法 (1)进入表单 (2)多表单切换 4.表单操作示例 1.什么是iframe表单 实际上就是HTML页面 ...

随机推荐

  1. python函数带不带括号的问题

    Python带括号返回的是该函数的返回值 不带括号返回的是该函数的位置信息等

  2. Docker学习笔记--传送门(持续更新)

    1.ubuntu下安装docker:  https://www.cnblogs.com/salmonLeeson/p/11609699.html 2.为docker配置国内镜像加速器:https:// ...

  3. Linux之目录与路径

    特殊的目录: “.”,代表此层目录 “..”,代表上一层目录 “-”,代表前一个工作目录 “~”,代表“目前用户身份”所在的主文件夹 “~account”,代表account这个用户的主文件夹(acc ...

  4. thinkphp5.0.19 request

    一.请求类型 request类中 [F:\phpStudy\WWW\csweb\thinkphp\library\think\Request.php] 获取请求类型的方法分别是: isGet() .i ...

  5. v-if 和 v-show

    关于条件渲染 所谓条件渲染,就是根据不同的条件,使用不同的模板来生成 html. 在 Vue.js 中,使用 v-if 和 v-show 指令来控制条件渲染. 区别 v-show 会在app初始化的时 ...

  6. Java——static

    [static] <1>static成员变量存储在内存data segment区域,不是存放在堆中. <2>静态成员变量属于整个类,任何一个对象都可以访问这个值:如果没有对象, ...

  7. 封装Qt的SQLite接口类

    还没测试完善.. #ifndef SQLITE_H #define SQLITE_H #include <QSqlDatabase> #include <QSqlQuery> ...

  8. 170906-MyBatis续

    ===============================================Dynamic SQL========================================== ...

  9. [CSP-S模拟测试]:小P的生成树(数学+Kruskal)

    题目描述 小$P$是个勤于思考的好孩子,自从学习了最大生成树后,他就一直在想:能否将边权范围从实数推广到复数呢?可是马上小$P$就发现了问题,复数之间的大小关系并没有定义.于是对于任意两个复数$z_1 ...

  10. CTO爆料:2019程序员最需要了解的行业前沿技术是什么?

    安森,个推CTO 毕业于浙江大学,现全面负责个推技术选型.研发创新.运维管理等工作,已带领团队开发出针对移动互联网.金融风控等行业的多项前沿数据智能解决方案. 曾任MSN中国首席架构师,拥有十余年资深 ...