我正在設計一個網絡抓取工具。在某些時候,我需要它等待大約 10 秒,然后再跳轉到下一個操作以解決互聯網連接問題。我想要一個簡單的隱式等待。driver.get('MY WEBSITE')driver.implicitly_wait(10)menu = driver.find_element_by_link_text("Export")menu2 = driver.find_element_by_xpath('//td[text()="Data"]')actions = ActionChains(driver)actions.move_to_element(menu)actions.click(menu)actions.move_to_element(menu2)actions.click(menu2)actions.perform() 唯一的問題是:它沒有等待。我什至嘗試將 20 秒或更多秒作為 implicitly_wait 參數,以便完全確定并且沒有變化。就是打開網站直接去搜索這兩個元素。誰能解釋一下?
2 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
嘗試使用WebDriverWait:
E.g
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()
driver.get("http://somedomain/url_that_delays_loading")
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
finally:
driver.quit()
添加回答
舉報
0/150
提交
取消