我有以下尝试例程:
While true:
print("back to beginning")
self.driver.get("http://mylovelywebsite.com")
try:
wait.until(
EC.title_is("This is my title")
)
except TimeoutException as ex:
print("HERE!")
print(ex.message)
self.driver.quit()
continue
它适用于硒,只是等着看标题是否存在。但是,我相信这只是一个蟒蛇问题(硒的问题很好)
发生的问题是ex.message没有打印任何内容。但是,即使我删除它,它也不会转到.quit()函数,当它到达continue语句时,它只会返回到print(" HERE!")语句(而不是回到剧本的开头。
我想知道如何制作它,以便在出现错误时,它会回到脚本的开头并再次运行?我是否必须将continue和quit()1缩进更少?我不确定这会起作用,因为即使错误没有被捕获,它也会进入continue语句。
答案 0 :(得分:1)
While
应为while
true
应为True
TimeoutException
没有message
属性;请改用str(ex)
。TimeoutException
,则无法显示。使用from selenium.common.exceptions import TimeoutException
from selenium.common.exceptions import TimeoutException
while True:
print("back to beginning")
self.driver.get("http://mylovelywebsite.com")
try:
wait.until(EC.title_is("This is my title"))
except TimeoutException as ex:
print("HERE!")
print(str(ex))
self.driver.quit()
continue
from selenium.common.exceptions import TimeoutException
timeOut = True
while True:
print("back to beginning")
try:
if timeOut:
raise TimeoutException("Something caused a timeout")
else:
break # leave the while loop because no error occurred
except TimeoutException as ex:
print("HERE!")
print(str(ex))
continue
无限循环;以ctrl+c
终止。