python+selenium常用语法操作

发布时间:2023-04-23 10:30

前言

1、selenium WebDeiver 是selenium2.0版本以后提供的一套用于实现功能自动化测试的框架

2、seleium Webdriver没有图形化界面,无法录制生成代码,但是功能很强大,借助于浏览器厂商预留的API来操作浏览器,还可以使用python或java等高级语言的语言来实现复杂逻辑的测试用例代码,使用单元测试框架来管理和批量运行,所有selenium Webdriver比selenium IDE更常用

3、seleium webdiver原理:浏览器厂商预留的API被各个浏览器的驱动程序调用,来实现浏览器里的操作,因为各个浏览器厂商预留的API不同,所以对应有各自的驱动程序,随着浏览器版本的升级,API可能会变化,所以启动程序文件可能也需要升级

常用操作

1、基本操作:针对文本框、按钮、超级链接、图片、单选按钮、复选框等类型的元素使用的操作函数

(1)send_keys函数:参数就是要输入的那些字符,说明:是追加式输入,不是替换式输入

示例:输入账号密码(这里使用ECshop演示)

第二种写法需要导入By类

from selenium.webdriver.common.by import By

python+selenium常用语法操作_第1张图片

python+selenium常用语法操作_第2张图片

(2)clear函数:清空数据,无参

示例:清除用户里面的数据

python+selenium常用语法操作_第3张图片

(3)click函数:点击元素,无参

示例:点击登录操作

python+selenium常用语法操作_第4张图片

python+selenium常用语法操作_第5张图片

2、下拉列表的操作:针对HTML网页里的select标记的元素,Selenium webdriver专门设计了一个Select类来管理其中的操作和数据属性

示例:定位所有分类下拉列表里面的耳机

(1)导入Select类:

from selenium.webdriver.support.select import Select

(2)定位所有分类的下拉列表,封装Select对象(实例化Select类的实例对象,调用该类的构造函数,该构造函数有一个参数,是前面所定位的页面元素WebElement类型的对象)

python+selenium常用语法操作_第6张图片

python+selenium常用语法操作_第7张图片

3、模拟键盘操作:

(1)先导入keys类:

from selenium.webdriver.common.keys import Keys

(2)在send_keys参数里使用keys类里的常量来表示键盘上的修饰符(特殊按键)

示例:把用户名账号复制粘贴放在搜索框里面

python+selenium常用语法操作_第8张图片

python+selenium常用语法操作_第9张图片

4、弹出框的操作:切换到弹出框,就可以获得一个弹出框类型(Alert类型)的对象实例。

注意:此语法中alert前不是下划线,是点。

示例:点击登录切换到文本框在关闭文本框

python+selenium常用语法操作_第10张图片

python+selenium常用语法操作_第11张图片

5、等待操作:两种等待方式

(1)强制等待:等待固定时间,使用time模块里的sleep函数就能实现,参数是以秒为单位的时间的整数。

示例:导入

from time import sleep
sleep(2) #强制等待2秒

(2)隐式等待:做全局设置,配置一下所有find_element开头的函数找不到元素时默认最长等待的超时时间,调用driver对象的implicitly_wait函数,参数是以秒为单位的最长等待时间,如果到达此时间,还找不到元素,就会抛出NoSuchElementException(此异常代表找不到元素)。

示例:设置隐式等待的超时时间为10秒

driver.implicitly_wait(10) #隐式等待

6、切换Frame:

(1)应用场景:如果定位元素失败(抛出NoSuchElementException),调查网页源代码,发现这个元素位于一个frame或iframe标记的元素下的子网页(html标记)里,那么此时需要切换Frame。

(2)Frame:叫做HTML语法里的框架,使用frame或iframe标记来实现,在其中可以嵌套显示网页。

(3)切换方法一:使用frame或iframe标记的元素的id或name属性值来作为切换条件。---最常用!

语法:driver.switch_to.frame("frame或iframe标记的元素的id或name属性值")

示例:登录ecshop后台在点击退出操作

python+selenium常用语法操作_第12张图片

python+selenium常用语法操作_第13张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号