关闭

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

2513人阅读 评论(0) 收藏 举报
分类:

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

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:625594次
    • 积分:6421
    • 等级:
    • 排名:第3978名
    • 原创:155篇
    • 转载:39篇
    • 译文:2篇
    • 评论:26条
    联系方式
    2010-2013,就职中科大洋,视音频编解码底层测试;
    2013-2015,就职爱迪德,视音频加密系统测试;
    2015-2016,就职猎豹移动,新闻推荐系统服务器端测试;
    2016-至今,就职蔚来汽车,车联网系统测试

    有对自动化测试、持续集成感兴趣的朋友,可以和我交流。
    独立博客:http://liuchunming033.github.io
    最新评论