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

yipeiwu_com6年前Python基础

在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表单嵌套的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

tensorflow实现简单逻辑回归

逻辑回归是机器学习中很简答的一个栗子,这篇文章就是要介绍如何使用tensorflow实现一个简单的逻辑回归算法。 逻辑回归可以看作只有一层网络的前向神经网络,并且参数连接的权重只是一个值...

Python操作SQLite数据库过程解析

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。...

Python进阶_关于命名空间与作用域(详解)

写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字、对象及其绑定的文章。 1. 命名空间 1.1 什么是命名空间...

Python yield 使用方法浅析

如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一...

利用Tkinter和matplotlib两种方式画饼状图的实例

当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图。 首先利用【Tkinter】中的canvas画布来画饼状图: from tkin...