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设计】。

相关文章

python删除过期文件的方法

本文实例讲述了python删除过期文件的方法。分享给大家供大家参考。具体实现方法如下: # remove all jpeg image files of an expired mod...

新手入门Python编程的8个实用建议

新手入门Python编程的8个实用建议

前言 我们在用Python进行机器学习建模项目的时候,每个人都会有自己的一套项目文件管理的习惯,我自己也有一套方法,是自己曾经踩过的坑踩过的雷总结出来的,现在在这里分享一下给大家,因为很...

Tensorflow卷积神经网络实例

Tensorflow卷积神经网络实例

CNN最大的特点在于卷积的权值共享结构,可以大幅减少神经网络的参数量,防止过拟合的同时又降低了神经网络模型的复杂度。在CNN中,第一个卷积层会直接接受图像像素级的输入,每一个卷积操作只处...

python网络编程学习笔记(四):域名系统

一、什么是域名系统 DNS 计算机域名系统 (DNS) 是由解析器以及域名服务器组成的。当我们在上网的时候,通常输入的是网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用...

python3+PyQt5实现自定义分数滑块部件

python3+PyQt5实现自定义分数滑块部件

本文通过Python3+PyQt5实现自定义部件–分数滑块。它既能支持键盘也支持鼠标,使用物理(视口)坐标通过绘制方式显示。 #!/usr/bin/env python3 impo...