[英]Trying to break outer while loop from inner Try/except block
I want to break the while loop from try/except block and continue the for loop.我想从 try/except 块中中断 while 循环并继续 for 循环。
But break in try/except block is not working properly.但是在 try/except 块中的中断无法正常工作。
Is this the correct way of breaking while?这是打破 while 的正确方法吗?
for row in obj:
url = URL_PATTERN.format(row['CONTEXT_ID'], row['TAGSET_ID'])
driver.get(url)
if set_status == "Closed":
writer.writerow({'CONTEXT_ID': row['CONTEXT_ID'], 'TAGSET_ID': row['TAGSET_ID'], 'STATUS': 'Already Closed'})
else:
reopen_count = len(driver.find_elements_by_xpath("//input[@value='Reopen']"))
r_count = 1
build_xpath = "(//input[@value='Reopen'])[{}]".format
while r_count <= reopen_count:
driver.find_element_by_xpath(build_xpath(r_count)).click()
driver.find_element_by_xpath("//input[@value='Completed']").click()
try:
alert = driver.switch_to_alert()
alert.accept()
x_error = "Error"
r_count = r_count - 1
break
except:
x_error = "NoError"
r_count = r_count + 1
if x_error == "Error":
writer.writerow({'CONTEXT_ID': row['CONTEXT_ID'], 'TAGSET_ID': row['TAGSET_ID'], 'STATUS': 'Error'})
else:
writer.writerow({'CONTEXT_ID': row['CONTEXT_ID'], 'TAGSET_ID': row['TAGSET_ID'], 'STATUS': 'Closed'})
i think you should wrap the while block in try catch, just like that...我认为你应该将 while 块包装在 try catch 中,就像那样......
try:
while r_count <= reopen_count:
driver.find_element_by_xpath(build_xpath(r_count)).click()
driver.find_element_by_xpath("//input[@value='Completed']").click()
alert = driver.switch_to_alert()
alert.accept()
x_error = "Error"
r_count = r_count - 1
break
except:
x_error = "NoError"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.