Python 如果元素为',则重新启动;时间过后没有发现硒
我使用“Selenium”来抓取网站。有时,由于几个不同的原因,网站无法完成加载。如果我发现元素在10秒内没有出现,我想关闭浏览器并重新启动循环Python 如果元素为',则重新启动;时间过后没有发现硒,python,selenium,Python,Selenium,我使用“Selenium”来抓取网站。有时,由于几个不同的原因,网站无法完成加载。如果我发现元素在10秒内没有出现,我想关闭浏览器并重新启动循环 wait = WebDriverWait(driver, 10) try: wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "a.top"))) except TimeoutException: driver.quit() continue 但这似乎不起作用。我以为等
wait = WebDriverWait(driver, 10)
try:
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "a.top")))
except TimeoutException:
driver.quit()
continue
但这似乎不起作用。我以为
等待。直到
将抛出所述的TimeoutException
。我相信您正在等待错误的异常,请尝试:
expect NoSuchElementException:
运行此代码时实际会发生什么?另外,您可能希望尝试重新加载页面,而不是关闭浏览器?如果我只是重新加载页面,如何知道元素将在那里?当我运行这段代码时,脚本可能会永远等待页面加载。你确定缩进是正确的吗?是的,上面的缩进是错误的,但它是正确的。如果你能向我们展示更多的代码,包括循环,那会很有帮助,这样我们就可以看到循环逻辑是正确的。另外,当代码永远等待时,请澄清元素是否实际在页面上。