selenium 设置等待时间

1 sleep(time)

import time

time.sleep(10)

强制等待时间。不管浏览器是否加载完成,都必须强制等待10s时间


2 implicity_wait(time)

隐性等待是浏览器在time时间内加载完成则继续执行。

隐性等待对整个driver都有作用,只需要设置一次


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

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

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

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

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


配合until和until_not使用


from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome()

driver.get("xxxxxx")

try:

     WebDriverWait(driver, 20).until(lambda x : driver.find_element_by_xpath("xxxx") )

finally:

    driver.close()





    



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium中,等待时间是非常重要的,它用于处理页面加载、元素定位和操作的同步问题。Selenium提供了两种等待方式:隐式等待和显式等待。 1. 隐式等待(Implicit Wait):通过设置一个全局的等待时间,在查找元素时,如果元素没有立即出现,Selenium会等待一段时间再进行查找。如果在等待时间内找到了元素,则立即执行后续操作;如果超过等待时间仍未找到元素,则抛出NoSuchElementException异常。隐式等待只需要设置一次,对整个WebDriver的生命周期都有效。 示例代码: ```python from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(10) # 设置隐式等待时间为10秒 driver.get("https://www.example.com") element = driver.find_element_by_id("myElement") ``` 2. 显式等待(Explicit Wait):通过指定等待条件和最长等待时间,来等待某个特定条件满足后再执行后续操作。显式等待更加灵活,可以根据具体的条件来等待,例如等待元素可见、可点击、存在等。如果在最长等待时间内满足了条件,则立即执行后续操作;如果超过最长等待时间仍未满足条件,则抛出TimeoutException异常。 示例代码: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("https://www.example.com") wait = WebDriverWait(driver, 10) # 设置最长等待时间为10秒 element = wait.until(EC.visibility_of_element_located((By.ID, "myElement"))) ``` 以上就是Selenium等待时间的介绍,隐式等待和显式等待都可以根据具体的需求来选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值