python selenium脚本_selenium脚本编写注意点(一)

在通过python+selenium编写ui自动化脚本的时候,我遇到过很多需要注意的点,今天分享给大家一下。

一、睡眠时间

1、 强制等待时间 sleep()

必须导入time包后才可以使用,强制等待生效时间=页面跳转时间+sleep()设置休眠时间

强制等待时间使用语法:sleep(s) s表示时间,以秒为单位 例:sleep(2) 休眠2s

2、显示等待时间 WebDriverWait()

必须导入WebDriverWait包才可以使用,显示等待时间是针对单个元素生效的,当在规定时间内找到了对应元素,则执行下一步操作。

显示等待时间使用语法:

WebDriverWait(x,y,z).until(lambda x:x.find_element_by_元素定位方法(“对应元素方法的值”))

x表示网页窗口对象

y表示总等待时间(s)

z表示等待过程中,每隔多久查看一次元素,单位s

ntil是固定格式,可以理解为直到元素定位到为止,lambda x:x是一个匿名函数构建的方法,这里不太好理解可以理解为固定格式lambda总体就是网页窗口对象,而后面的.find_element_by_…就是援用之前的定位方法

3、隐式等待时间 implicitly_wait()

智能等待时间,是针对全局的元素都生效,不需要导入包。当在规定时间内找到了对应元素,则执行下一步操作。

隐等待时间使用语法: 网页对象名.implicity_wait()

from selenium import webdriver

from time import sleep #导入强制等待时间的包

from selenium.webdriver.support.ui import WebDriverWait #导入显示等待时间的包

dr = webdriver.Firefox()

dr.maximize_window()

dr.implicitly_wait(5) #隐式时间等待,智能等待,针对于全局

dr.get(“https://www.baidu.com”)

sleep(2) #休眠2s

a = WebDriverWait(dr,10,2).until(lambda x:x.find_element_by_id(“kw”)) #显示等待时间,针对于单个元素进行时间的等待

a.send_keys(“123”)

#总结:只针对一个元素进行时间的等待,要是找不到该元素则会一直消耗完所有的等待时间才进行下一步

二、定位alert弹出框

alert弹出框包含三种:

alert 提醒对话框

confirm 确认对话框

prompt 要求用户输入,然后返回结果的对话框

1、定位方法

switch_to.alert:定位到alert/confirm/prompt

text:返回alert/confirm/prompt 中的文字信息。

accept:点击确认按钮。

dismiss:点击取消按钮,如果有的话。

send_keys:输入值,这个alert\confirm 没有对话框就不能用了,不然会报错。

2、alert用法

9103ee3c42edf5cb8643a1f5e298b841.png

3、confirm用法

6a6a7110de386b63f98250f96dcf9d15.png

4、prompt用法

c326c326e53164059d286e0e0076aabd.png

接口测试推荐使用国产接口测试和接口文档生成工具:apipost

5cc331740b201fd5184c909cbf841e51.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值