我正在使用Python Selenium爬网多个网页,并且我以前知道某些网页没有所有元素。
我已经在等待页面加载并使用try / except查找元素(例如,类xyz),进入异常需要30秒。
try:
xyz = driver.find_element_by_css_selector('div.xyz').text
except NoSuchElementException:
print("\tError finding xyz...")
Run Code Online (Sandbox Code Playgroud)
如何设置较小的超时(例如5秒)作为Selenium在运行异常并移至下一页之前查找元素的最大时间?
您可以使用WebDriverWait和ExceptionCondition实现此目的。
您需要在进口以下。
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Run Code Online (Sandbox Code Playgroud)
脚本:
try:
xyz = WebDriverWait(driver,5).until(EC.presence_of_element_located((By.CSS_SELECTOR,'div.xyz'))).text
except NoSuchElementException:
print("\tError finding xyz...")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57 次 |
最近记录: |