请尝试继续Python不工作
我有以下的尝试程序:请尝试继续Python不工作,python,exception-handling,try-catch,continue,Python,Exception Handling,Try Catch,Continue,我有以下的尝试程序: 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:
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
这是硒的,它只是等着看标题是否在那里。然而,我相信这只是python的问题,因为selenium的工作正常
出现的问题是ex.message没有打印出任何内容。但是,即使我删除它,它也不会转到.quit函数,当它到达continue语句时,它只会返回到printHERE!语句,而不是返回到脚本的开头
我想知道如何使它在出现错误时返回到脚本的开头并再次运行?我是否必须将“继续”和“退出”的缩进减少1?但我不确定这是否有效,因为即使没有捕获错误,它也会到达continue语句
你的缩进消失了。
时不我待
真的应该是真的
TimeoutException没有消息属性;改用strex。
您尚未显示是否导入了TimeoutException。从selenium.common.exceptions导入TimeoutException使用
正确格式
这种示例程序与您描述的一样
无限循环;使用ctrl+c终止。2个问题:您是否尝试捕获常规异常以查看是否发生了其他问题?我假设您在for循环中?我怀疑错误是否在python中正确执行异常处理代码,而是在您提供的几行代码中。你能扩展你的片段来看看到底应该继续什么吗?Hi@Langitar是的,我提供了更多的代码。所以我希望它会回到while循环的开头,然后打印回开头。嗨@YOBA是的,在循环中没有尝试过一般异常,我该怎么做?
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