刘春明的博客

关注软件的自动化测试与持续集成

【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()


阅读更多
版权声明:本文为博主原创文章,欢迎转赞,但请保留作者署名。 https://blog.csdn.net/liuchunming033/article/details/46805143
个人分类: Selenium
上一篇【Selenium学习笔记】webdriver对鼠标的操作
下一篇【Selenium学习笔记】webdriver如何定位一组对象
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭