我有一个访问不同网站的脚本。有时候我会超时,Traceback会抛出以下错误:
Traceback (most recent call last):
File "C:\Python27\visitor.py", line 52, in <module>
wait.until(EC.presence_of_element_located((By.Selector, "theSelector")))
File "C:\Python27\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
TimeoutException: Message:
如何识别此错误,如果发生这种情况,只需告诉脚本从头开始?我循环遍历不同的方面,这发生在循环中。所以我只想继续崩溃的地方。基本上重新加载网页并执行命令。
答案 0 :(得分:0)
这是通用的,因为您没有提供任何代码示例
for url in ['http://example.com']:
try:
visit_site(url)
except TimeoutException:
pass
答案 1 :(得分:0)
绝对可以为您提供更多信息(您的代码!)。你还说你想在超时时从头开始编写脚本,然后你说你想从它超时的地方重试。我不明白你为什么要重新运行这个脚本,所以我打算提出一个只需刷新网页并再试一次的解决方案。
我会假设一些事情。
首先,您设置driver=webdriver.somebrowser()
其次,您设置了wait=WebDriverWait(driver, numberseconds)
我认为这样的事情可能有用,但如果页面永远不会加载,可能会导致无限循环。
while True: #Could cause endless loop
try:
wait.until(EC.presence_of_element_located((By.Selector,"theSelector")))
except TimeoutException:
driver.refresh()
continue
第一次回答问题!