1.强制等待sleep(秒):当设置时间很少,1秒2秒的设置可以用sleep,长时间等待不适用。

import timetime.sleep(10) #10单位是s

2.隐性等待:设置最长等待时间,在这个时间内加载完成,则执行下一步。整个driver的会话周期内,设置一次即可,全局都可用。--比如:设置最长等待30s,在查找到元素时,即进行下一步操作。若超时仍未找到,则报错,提示未找到元素

from selenium import webdriverdriver = webdriver.Chrome()driver.implicitly_wait(30)

注:在设置隐性等待中再设置强制等待,会生效

3.显性等待(重点):明确等到某个条件满足之后,再去执行下一步操作。

程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设定的最长时间,然后抛出TimeoutException。

WebDriverWait类:显性等待类

WebDriverWait(driver,等待时长,轮循周期).until/until_not

等待时长单位:秒

1)引入三个包:By类中提供了8种定位方式。EC中提供了很多期望条件的类。

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

2)找到元素存在,并传入参数类型与值,元组类型。其中10为timeout时间。

ele_locator = "//a[text()='用法详解 - 道高一尺 - 博客园']"
param = (By.XPATH,ele_locator)
#使用webdriverwait,使得操作的元素存在
WebDriverWait(driver,10).until(EC.presence_of_element_located(param))

3)Expected_conditions模块:提供了一系列期望发生的条件

a.title_is:

b.title_contains:

c.presence_of_element_located:元素存在

d.presence_of_all_elements_located:所有元素存在

e.url_matches:

f.url_to_be:

g.url_changes:

h.url_contains:

i.visibility_of

j.visibility_of_element_located:元素可见

k.invisibility_of_element_located

l.text_to_be_present_in_element_value

m.text_to_be_present_in_element

n.element_to_be_clickable:元素可点击

o.staleness_of

p.element_to_be_selected

q.element_located_to_be_selected

r.element_selection_state_to_be

s.number_of_windows_to_be

t.alert_is_present:alert元素存在

u.new_window_is_opened:新窗口打开

转载于:https://www.cnblogs.com/xiaoxiaolvdou/p/9276548.html

selenium三个等待时间相关推荐

  1. selenium三种等待时间之强制等待

    等待的作用: 在实际自动化实现过程中,都会添加等待来完善自动化测试的代码.自动化测试,是交由机器来执行的一种测试手段,用于提升测试效率,意味着每一次的自动化测试都需要有非常高的成功率,才可以达到提升效 ...

  2. selenium三种等待时间之显示等待

    显示等待 显示等待,对指定元素进行等待的一种等待方式.通过设置最大等待时间.检查频率,对页面的元素来进行等待,一旦找到元素,则停止等待,进入后续步骤. 它主要的意思就是:程序每隔x秒看一眼,如果条件成 ...

  3. selenium三种等待时间之隐式等待

    隐式等待: 其设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步操作. 使用方法:implicity_wait(10),在x时间内,页面加载完成, ...

  4. 三种等待时间原理及场景

    让我们来探讨探讨三种等待时间原理及场景 在使用web端自动化实施的过程中,常常会遇到页面还没加载完毕,脚本已经执行了,导致用例执行失败,为了确保页面加载完毕后再执行下一个脚本,我们通常采用设置等待的时 ...

  5. selenium 三种断言以及异常类型

    selenium 三种断言以及异常类型 参考文章: (1)selenium 三种断言以及异常类型 (2)https://www.cnblogs.com/xiaobucainiao/p/6186826. ...

  6. selenium的三种等待时间

    //隐式等待(20秒以内没哥一段时间就会去找元素,如果没找大也不会报错,过了20s才会报错)//driver.manage().timeouts().implicitlyWait(20, TimeUn ...

  7. python的等待代码是什么_Python selenium 三种等待方式详解

    1.目的背景 解决问题:下拉框定位不到.弹框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待. 原因:代码运行速度快,而浏览器加载渲染速度慢 解决办法:加等待,目 ...

  8. python三种等待方式_Python selenium 三种等待方式详解

    本文摘自:http://blog.csdn.net/huilan_same/article/details/52544521 发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很 ...

  9. python selenium 三种等待方式详解

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 正文: 1.强制等待 ...

  10. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 注:当使用该放发的时 ...

最新文章

  1. 双关节机械臂+机械爪运动控制
  2. android分析windowManager、window、viewGroup之间关系
  3. [渝粤教育] 潍坊职业学院 化工安全技术 参考 资料
  4. Samba配置文件解析
  5. 进攻即是最好的防御!19个练习黑客技术的在线网站
  6. 语法转换_近5年高考(2019- 2015年)语法填空词性转换使用真题汇编
  7. css带三角形的对话框
  8. 计算机网络工程税收分类编码,工程款税收分类编码
  9. Jenkins--发送邮件配置
  10. 五子棋人机交互c语言代码,Windows人机交互程序设计教学课件-第10课 五子棋程序.ppt...
  11. 深度学习入门 基于python的理论和实践 第一章
  12. spring AOP切面及日志记录实现
  13. 中级软件评测师下午题总结
  14. 模拟高清和数字高清摄像机的区别,全局快门CMOS 图像传感器,Interline Transfer CCD图像传感器
  15. matlab interp1 spline,中国大学MOOC: MATLAB/Octave函数interp1中有一个描述插值方法的参数,其中spline表示...
  16. HFSS学习笔记—12.矩形微带贴片天线
  17. kali 改root_linux切换到root用户,kali怎么切换root身份运行
  18. Abp Vnext修改密码强度
  19. strftime( ) 函数说明
  20. 科技助农、航空报国、产业兴邦——钱旺正式发布“雨田一号”农用无人机

热门文章

  1. 暗通道去雾算法的python实现
  2. 项目中的常量是放在接口里还是放在类里呢?
  3. Dedecms会员中心注入漏洞
  4. HDU4681 String(dp)
  5. pm2启动jenkins不存在tty的问题
  6. springboot-aop
  7. MySQL授权root
  8. Tomcat 7集群基于redis的session共享设置
  9. myeclipse中hibernate出错
  10. 電郵泛濫成災 電話再成新寵