Python 未处理多个异常

Python 未处理多个异常,python,selenium,selenium-webdriver,selenium-chromedriver,staleelementreferenceexception,Python,Selenium,Selenium Webdriver,Selenium Chromedriver,Staleelementreferenceexception,目前,我在for循环中使用了多个异常。然而,他们仍然抛出异常错误,我不确定为什么他们没有被处理 这是我的密码: for x in range (15): actions.click_and_hold(element1).move_to_element(element2).release().perform() try: WebDriverWait(driver, 5).until( EC.visibility_of_element_loca

目前,我在for循环中使用了多个异常。然而,他们仍然抛出异常错误,我不确定为什么他们没有被处理

这是我的密码:

for x in range (15):
    actions.click_and_hold(element1).move_to_element(element2).release().perform()
    try:
        WebDriverWait(driver, 5).until(
            EC.visibility_of_element_located((elementLocator))
            )
        return True
    except (StaleElementReferenceException, TimeoutException):
        break
下面是引发的错误:

StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: headless chrome=67.0.3396.30)
  (Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.13.4 x86_64)

我看不出您的代码块中存在任何问题,但您的主要问题似乎在于所使用的二进制文件之间的版本兼容性,如下所示:

  • 您使用的是chromedriver=2.36
  • 的发行说明明确提到以下内容:
支持Chrome v63-65

  • 您使用的是chrome=67.0
  • 的发行说明明确提到以下内容:
支持Chrome v65-67

因此ChromeDriver版本(v2.36)和Chrome浏览器版本(v67.0)之间存在明显的不匹配

解决方案
  • 将ChromeDriver升级到当前级别
  • 将Chrome版本保持在Chrome v67.x的级别。()
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
  • 如果您的基本Web客户端版本太旧,请通过卸载它并安装最新的GA和Web客户端发布版本
  • 重新启动系统
  • 执行
    @测试

在哪一行引发异常?如果它在第二行被提升,请尝试将其移动到
try
块中。谢谢@fixedrey修复了它!