python3 selenium自动化 frame表单嵌套的切换方法

在web自动化测试中,测试工程师经常会碰到frame表单嵌套结构,直接定位会报错,我们需要切换表单后才能成功定位。

我拿QQ邮箱登录来作为例子说下frame怎么切换。

qq邮箱页面按F12可以看到以下信息:

表单的信息如下:

<iframe id="login_frame" name="login_frame" height="100%" scrolling="no"
width="100%" frameborder="0" ............</iframe>

那我们可以通过这些信息切换表单

dr.switch_to.frame(‘login_frame')

然后就可以直接定位了

dr.find_element_by_id(‘u').send_keys(‘582732974@qq.com') #输入qq账号
dr.find_element_by_id(‘p').send_keys(‘xxxx') #输入qq密码

完整代码如下:

from selenium import webdriver
dr = webdriver.Chrome()
dr.get('https://mail.qq.com/')
dr.switch_to.frame('login_frame')
dr.find_element_by_id('u').send_keys('582732974@qq.com')
dr.find_element_by_id(

以上这篇python3 selenium自动化 frame表单嵌套的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python3+selenium实现126邮箱登陆并发送邮件功能

    本文实例为大家分享了python3实现126邮箱登陆并发送邮件的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时未封装. from selenium import webdriver # 导入显示等待类 from selenium.webdriver.support.ui import WebDriverWait # 导入期望场景类 from selenium.webdriver.support import expect

  • 处理Selenium3+python3定位鼠标悬停才显示的元素

    先给大家介绍下Selenium3+python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素,要引入新模块 # coding:utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox() driver.get("http://www.baidu.com") # 定位百度页面上

  • python3+selenium实现qq邮箱登陆并发送邮件功能

    本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装.qq邮箱和126邮箱登陆还是有一些区别的. #encoding=utf-8 from selenium import webdriver import time #启动chrome浏览器 driver = webdriver.Chrome() #进入qq邮箱登陆首页 driver.get("https:/

  • python3.6+selenium实现操作Frame中的页面元素

    有时网页中会嵌套一个或者多个Frame,此时我们直接去找嵌套在Frame里面的元素会抛出异常,所以在操作的时候我们需要将页面焦点切换到Frame里面,下面我们就以一个实例演示一下! 首先先创建三个html文件,文件代码如下: 1)frameset.html 2)frame_left.html 3)frame_right.html 4)frame_middle.html 5)把这四个html文件放在同一个文件夹下< 以下是python实现该逻辑的代码: import unittest from s

  • python3 selenium自动化 下拉框定位的例子

    我们在做web UI自动化时,经常会碰到下拉框,如下图: 所上图,下拉框的源代码如下: <html1> <head></head> <body> <select id="fruit" name="水果" style="width:100px;"> <option value ="0">苹果</option> <option value =

  • python3+selenium自动化测试框架详解

    背景 为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化.自学python以及自动化测试. 虽然在2017年已经开始接触了selenium,期间是断断续续执行自动化测试,因为还有其他测试任务,培训任务要执行- 前期建议大家能够学习python基本语法(python基础教程) 任务 搭建自动化测试框架,并能有效方便的进行测试,维护成本也要考虑其中. 过程 我的自动化框架可能不成熟,因为是自学的.请多包涵.也请大佬指导~ common 包含:基本的公共方法类,比如HTML报告.Log

  • python3 selenium自动化测试 强大的CSS定位方法

    ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快 css的缺点:css不支持用逻辑运算符来定位,而xpath支持.css定位语法形式多样,相对xpath比较难记. css定位建议多用,这个定位方式很强大,定位速度快且准确度高.至于难记,用熟了就好了,对勤快的人来说,这不是问题. CSS_selector常用符号: # 表示id . 表示class > 表示子元素,层级 1.通过id属性定位: find_element_by_css_selector("#id的

  • python3 selenium自动化 frame表单嵌套的切换方法

    在web自动化测试中,测试工程师经常会碰到frame表单嵌套结构,直接定位会报错,我们需要切换表单后才能成功定位. 我拿QQ邮箱登录来作为例子说下frame怎么切换. qq邮箱页面按F12可以看到以下信息: 表单的信息如下: <iframe id="login_frame" name="login_frame" height="100%" scrolling="no" width="100%" fra

  • Python爬虫之Selenium中frame/iframe表单嵌套页面

    在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中. 本章中用到的关键方法如下: switch_to.frame():切换为frame/iframe表单的内嵌页面中 switch_to.parent_frame():退出内嵌页面 以ip138网站为例 f

  • vue elementUI 表单嵌套验证的实例代码

    一:表单一级验证 element中from组件内表单验证通过使用el-form标签,绑定model和rules属性进行表单验证 <el-form ref="form" :model="form" :rules="rules" label-width="110px" @submit.native.prevent> <el-form-item label="客户名称:" size="

  • Vue elementUI表单嵌套表格并对每行进行校验详解

    目录 效果展示 代码链接 关键代码 表格数据 组件嵌套 校验方法 重置方法 完整代码 总结 效果展示 先看看这是不是需要的效果^_^ 如图,ElementUI 表单里嵌套了表格,表格内每行能进行[保存][新增][编辑][删除][重置]等操作,同时可以对每行的某些字段进行校验(而不是整个表单校验!),这种需求很常见,所以记录下来. 代码链接 gitee地址 关键代码 表格数据 // 数据格式必须是[对象嵌套数组],[form]绑定表单,[list]绑定表格 form: { // 表格数据 list

  • Codeigniter检测表单post数据的方法

    本文实例讲述了Codeigniter检测表单post数据的方法.分享给大家供大家参考.具体如下: $name = $this->input->post(' name' ) ; $email = $this- >input->post( ' email' ) ; $subj ect = $this->input->post( ' subject' ) ; $message = $this->input->post( ' message' ) ; if(empt

  • JavaScript获得表单target属性的方法

    本文实例讲述了JavaScript获得表单target属性的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <body> <form id="frm1" action="form_action.asp" target="_blank"> First name: <input type="text" name="fnam

  • js和jq使用submit方法无法提交表单的快速解决方法

    昨天,在做一个表单异步提交内容的时候,遇到很奇怪的问题,submit()方法无法进行提交,每次提交都是把 当前给刷新了,网络抓包发现,每次都是 get方式去获取 当前页面,完全没有post 请求,想着以前 遇上这样的问题 都是因为 表单中 有 name 或者 id 这些命名跟submit 有冲突,但是检查了几次,始终没有发现 名字冲突,所以这个可能性被排除. 平常自己做触发按钮,基本不用a 标签,但是昨天不知道什么 问题,竟然用了 a 而且还给了 href 为空,由于这个a 的class 有多个

  • php+html5使用FormData对象提交表单及上传图片的方法

    本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量. 使用FormData对象 1.创建一个FormData空对象,然后使用append方法添加key/value 复制代码 代码如下: var formdata = new

  • php获取从html表单传递数组的方法

    本文实例讲述了php获取从html表单传递数组的方法.分享给大家供大家参考.具体如下: 将表单的各个元素的name都设置成同一个数组对象既可以以数组的方式传递表单值 html页面如下: <form method="post" action="arrayformdata.php"> <label>Tags</label> <input type="text" name="tags[]"/

随机推荐