即使有 try...except 块也会抛出异常

洪恩

我有这个尝试...除了块:

try:
    browser.find_element('xpath', '/html/body/ul').click()
    wait = WebDriverWait(browser, 10)
    wait.until(EC.visibility_of_element_located(('xpath', '/html/body/div[1]/div[3]/span')))
    return ' '.join(browser.find_element('id', 'response').text.split('\n')[0].split()[:-1])

except ElementNotInteractableException or NoSuchElementException or TimeoutException:
    return 'No result'

我仍然得到这个例外:

    wait = WebDriverWait(browser, 10)
File "C:\...\selenium\webdriver\support\wait.py", line 87, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 

我试过单独处理这个异常,但没有用。所以我不明白我应该如何处理它,因为代码应该忽略超时,因为它只是意味着没有找到元素(大约有 10% 的时间会出现这种情况)。

切普纳

except根据关键字后面的表达式except计算结果,捕获单个异常或多个异常子句

  1. 如果它评估为单个异常类,它将捕获该类型的异常。

  2. 如果它计算为一个元组,它将捕获元组中包含的任何类型的异常。

表达式ElementNotInteractableException or NoSuchElementException or TimeoutException计算为单一类型ElementNotInteractableException,而不是包含三个异常类的元组。

你想要一个明确的元组:

except (ElementNotInteractableException, NoSuchElementException, TimeoutException):
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:即使陷入try / except子句,也会引发异常

即使try块未抛出异常,捕获块仍在执行?

EOFError,即使尝试了try和except块之后

即使在`try ... except`中,asyncio.wait返回异常

try/except 块的范围

Python:通过带有多个例外的Try / Except块传播异常

在Javascript中,即使从不抛出异常,使用try-catch块是否昂贵?

即使从不抛出异常,使用try-catch块是否昂贵?

使用现有的 try/catch 块或重复的 catch 块而不抛出异常

如何使用pytest测试try/except块的异常

如何在嵌套的try / except块中重新引发异常?

如何在嵌套的try / except块中重新引发异常?

Python中的try-except块未处理异常

没有try-catch块的C#重新抛出异常

Django try / except on DidNotExist仍然抛出它

避免从类重复try / except块的代码

如何合并多个try-except块?

如何使try / except块内的变量公开?

try / except块中的Python变量范围

Try / Except块的Python单元测试

在 try/except 语句中的异常期间继续

try和except均引发异常。

不抛出异常时,try / catch块是否会损害性能?

为什么在这个“try...except”块中没有捕获/处理错误?

编写许多 try-except 块时是否有最佳实践可遵循?

while循环中有多个输入,以及Python中的try-except块

未捕获的异常 PDOException 即使语句在 try/catch 块中

如果事实证明编译器没有抛出异常,则必须始终删除try-catch块

try-except块中default-brench的Django异常处理程序