selenium 等待时间

本文介绍了在Python中使用Selenium进行网页元素等待的三种方式:简单时间延迟、隐式等待和显式等待,并提供了相关代码示例。特别强调了等待时间单位为秒而非毫秒,以及在使用显式等待时,`expected_conditions`模块的重要性。
摘要由CSDN通过智能技术生成

参考,博客原文:http://blog.csdn.net/huilan_same/article/details/52544521


NOTE: selenium—Python中的等待时间为秒 而不是毫秒,一定要注意,楼主犯过类似错误。


1.简单粗暴:

import time

time.sleep(20)


2.隐式等待:最长等待多少秒,等待时间内:如果元素加载出来则不再继续等待执行下一步操作,超过最长等待时间:如果未加载出来,selenium直接报错

 driver.implicity_wait(20)


3.显示等待:每隔多少秒看一次,如果加载出来直行下一步,窦泽继续等待直至超过设置的最长时间,然后抛异常:TimeoutException

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.Firefox()<

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、付费专栏及课程。

余额充值