【Selenium学习笔记】测试中如何设置等待时间

有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。

sleep等待固定时间

python 的time 包提供了休眠方法sleep() ,导入time 包后就可以使用sleep()进行脚本的执行过程进行休眠。

implicitly_wait()

是webdirver 提供的一个超时等待。隐的等待一个元素被发现,或一个命令完成。如果超出了设置时间的则抛出异常。

WebDriverWait():

同样也是webdirver 提供的方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。需要导入WebDriverWait类。

WebDriverWai()一般由unit()或until_not()方法配合使用,下面是unit()和until_not()方法的说明。
until(method, message=’ ’)
调用该方法提供的驱动程序作为一个参数,直到返回值不为False。
until_not(method, message=’ ’)
调用该方法提供的驱动程序作为一个参数,直到返回值为False。

最重要的还是要看例子:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Firefox()
driver.get('http://ww.baidu.com')
driver.maximize_window()
# 等待kw元素的出现,最长等待10秒
element = WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_id('kw'))
element.send_keys("java")
# 等待su元素出现,最长等待30秒
driver.implicitly_wait(30)
driver.find_element_by_id('su').click()

time.sleep(30)
driver.quit()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值