selenium python学习笔记---添加等待时间

本文深入解析Selenium Python中的等待机制,包括休眠、智能等待及WebDriverWait类的应用。详细介绍了如何在脚本中添加等待时间以确保步骤的稳定执行,并提供了多个实例演示不同等待方式的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://selenium-python.readthedocs.io/waits.html

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

  • 添加休眠:需要引入time包,选择一个固定的时间的等待。实例:import time .... time.sleep(2)
  • 智能等待:通过添加implicitly_wait(),可以在一个时间范围内智能等待。隐式地等待一个元素被发现或一个命令完成:这个方法每次会话只需要调用一次。实例:browser.implicitly_wait(30),
  • 在webDriver中提供了WebDriverWait类,可以智能的等待页面元素加载完成再执行操作。

    在设置时间内,默认每隔一段时间检测

    检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常,

    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。

 

判断元素存在与否:

def isPresent(self):

  try:

    driver.find_element_by_xpath(Xpath)

  excep NoSuchElementException,e:

    return False

  else:

    return True

转载于:https://www.cnblogs.com/saryli/p/4293670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值