• 显示等待WebDriverWait


    1.等待的三种方式:
    (1)time.sleep(2):进程休眠/s
    (2)implicitly_wait(30):等待页面完全加载完成,指的是左上角转圈结束,很耗费时间
    (3)WebDriverWait(self,driver,timeout,poll_frequency=Poll_FREQUENCY,ignored_exceptions=None):等待元素出现,不需要等页面加载完成
    --driver:打开浏览器的一个实例
    --timeout:超时的总时长
    --poll_frequency:循环去查询的间隙时间,默认0.5秒
    --ignored_exceptions:忽略异常,默认忽略NoSuchElementException
      (3.1)10秒以内每隔0.5秒循环查找一次元素,找到元素就返回元素本身,找不到就抛超时异常
      from selenium webdriver.support.wait import WebDriverWait
     
      driver=webdriver.Chrome()
      driver.get("https://www.baidu.com")
      #等待总时长10秒,默认0.5秒询问一次
      element=WebDriverWait(driver,10).until(lambda x:x.find_element_by_id("kw"))
      element.send_keys("lala")
      (3.2)30秒内每隔1秒循环查找元素,判断元素有没有消失,找不到元素返回True,找到抛异常(忽略元素不可见异常)
      from selenium webdriver.support.wait import WebDriverWait
     
      driver=webdriver.Chrome()
      driver.get("https://www.baidu.com")
      #判断页面上不存在某个元素
      is_idsappeared=WebDriverWait(driver,30,1(ElementNotVisibleException)).until_not(lambda x:x.find_element_by_id("kw").is_displayed())

  • 相关阅读:
    Java-对象数组排序
    aoj 0118 Property Distribution
    poj 3009 Curling 2.0
    poj 1979 Red and Black
    AtCoder Regular Contest E
    AtCoder Beginner Contest 102
    AtCoder Beginner Contest 104
    SoundHound Inc. Programming Contest 2018
    poj 3233 Matrix Power Series
    poj 3734 Blocks
  • 原文地址:https://www.cnblogs.com/linbao/p/8080073.html
Copyright © 2020-2023  润新知