企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 显示等待 显示等待是根据条件进行等待,等待条件出现 ~~~ from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC ~~~ ~~~ WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None) ~~~ WebDriverWait类是由WebDriver提供的等待方法.在设置的时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常. 例子 ~~~ from selenium import webdriver # 导入By from selenium.webdriver.common.by import By # 导入webdriver等待类 from selenium.webdriver.support.ui import WebDriverWait # 导入预期条件设置类 from selenium.webdriver.support import expected_conditions as EC # 创建一个浏览器 driver = webdriver.Firefox() # 访问百度 url = 'http://www.baidu.com' driver.get(url) # 浏览器总共等待10秒,在10秒内,每隔0.5秒去使用id的方式定位一下元素,如果定位到,就结束等待,如果定位不到同时没有大于10秒,则继续等待 el = WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID,'lg'))) driver.close() ~~~ # 隐式等待 隐式等待是根据事件进行等待,等待特定时间 ~~~ driver.implicitly_wait(n) ~~~ n的单位为秒,n为最大值,在这个最大值内只要元素定位到就结束等待 ~~~ from selenium import webdriver # 创建浏览器 driver = webdriver.Firefox() url = 'https://www.amazon.cn/' driver.get(url) driver.implicitly_wait(20) driver.close() ~~~