我正在设计一个网络抓取工具。在某些时候,我需要它等待大约 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
提交
取消