Selenium-自动化测试之时间等待(WebDriverWait、implicitly_wait、time.sleep)

访问一个网站,是需要加载时间的,加载时间的长短,也在于网速的快慢,为了避免一些记载时间的报错,我们需要在页面的自动化测试当中,添加一些时间等待!

第一种:显式等待(WebDriverWait)

WebDriverWait(browser,timeout,poll_frequency=0.5,ignored_exceptions=None)
字段解释:

browser:浏览器的驱动

timeout:设置最大超时时间,默认单位秒(s)

poll_frequency:检测的间隔时间,默认0.5秒

ignored_exceptions:超时后的异常信息,默认抛出NoSuchElementException异常

另外:WebDriverWait一般由until()或until_not()方法配合使用
WebDriverWait(browser,3).until(browser.find_element_by_id("name"),message=None).send_keys("zhangsan")

解释:如果在HTML上找到id为name这个元素,就输入信息“zhangsan”

WebDriverWait(browser,3).until_not(browser.find_element_by_id("name").is_displayed(), message=None)

解释:判断id为name这个元素是否已经在html上消失,不是肉眼可见的

第二种:隐式等待(implicitly_wait)

隐式等待是通过一定的时长等待页面上某元素加载完成。如果超出了设置的时长元素还没有被加载,则抛出NoSuchElementException异常,如果在设置时间内找到某元素,会马上执行后面的操作;

# 等待3秒
browser.implicitly_wait(3)

第三种:休眠(time.sleep)

# 等待3秒
time.sleep(3)

解释:就算在3秒内找到指定元素,也强制等待3秒

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 此文是由在盖洛普(专业员工敬业度满意度咨询公司)任职的丽贝卡贡献! 接到过很多企业HR就打造组织氛围的方案需求,打...
    奋斗3500阅读 3,790评论 0 3
  • 足不出户一整天。 早上烙锅盔。 下午闺蜜带儿子来家,一起吃饭,喝茶聊天。 晚上听书,再次领略《小王子》的这部成人童...
    七月紫苏阅读 194评论 0 0
  • 昨晚太困了导致写着一般睡着了,今天早上6点多起床阅读2个小时,很亲幸老天爷也在帮助我,信用卡收到了今天按时出发去萍...
    小伟小伟小伟阅读 224评论 0 0
  • 一曲《红楼梦》,千红一哭万艳同悲,众多美好的姑娘几乎统统悲剧了,虽然由于悲剧美揭示了封建制度的万恶,使读者深...
    妮妮Fertari阅读 445评论 0 1