等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

-driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)

-timeout:最长超时时间,默认以秒为单位

-poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒

-ignored_exceptions:超时后的异常信息,默认情况下抛 NoSuchElementException 异常

例子1:

element = WebDriverWait(driver, 10).until(lambda x : x.find_element_by_id("id"))

element.send_keys("selenium")

例子2:

element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“Id”))

is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())

WebDriverWai()一般由 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()
WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id("someId"))

#通过检查某个元素是否被加载来检查是否登录成功,我认为当个黑盒子用就可以了。其中10的解释:10秒内每隔0.5毫秒扫描1次页面变化,直到指定的元素

最新文章

  1. 百钱买百鸡问题 php版本
  2. undefined reference to `dlopen'
  3. DIY一个前端模板引擎.(一)
  4. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
  5. 【POJ 1743】Musical Theme
  6. p235习题1
  7. 基础笔记(二)HTTP协议
  8. 如何自定义iOS中的控件
  9. Java链表的一些操作:
  10. Java之戳中痛点 - (7)善用Java整型缓存池
  11. ACE之通信的设计空间
  12. 开发过程中,ps要做的事情
  13. Recon ASRC Conference
  14. MDK的一些小应用
  15. 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in range(128)
  16. marks学习2
  17. ServletContextListener使用详解(监听Tomcat启动、关闭)
  18. C#中,重新排列panel中的按钮
  19. docker容器和镜像
  20. BZOJ2553 Beijing2011禁忌(AC自动机+动态规划+矩阵快速幂+概率期望)

热门文章

  1. 【贪心】codeforces D. Minimum number of steps
  2. Eclipse安装插件长时间停留在calculating requirements and dependencies
  3. ListView更新问题
  4. [HDU4607]Park Visit(树上最长链)
  5. HDU 1114 【DP】
  6. xml解析工具mashaller javaee自带解析类
  7. 从头开始学Android之(二)—— Android版本
  8. InfluxDB useful commands
  9. ThoughtWorks技术雷达
  10. :>/dev/null 2>&1 的作用