首页 > 解决方案 > 应用程序的自动保存功能导致 selenium 脚本失败

问题描述

org.openqa.selenium.ElementClickInterceptedException:元素在点 (856,732) 处不可点击,因为另一个元素遮住了它

标签: selenium-webdriverexceptiontestng

解决方案


请尝试以下选项,

  • 根据我的理解,如果我们使用具有自动保存功能的网络表单,那么如果我们离开特定字段,自动保存将被触发,并且自动保存需要一些时间才能发生。因此,在您的情况下,您可以尝试离开该字段(即,通过使用 selenium 在该字段之外单击)并让代码等待一段时间以完成自动保存。

对于这种情况,您可以使用显式等待。下面的命令将等待最多 40 秒,以使按钮变为可点击。如果元素在 40 秒前可点击,它将点击它。如果 40 秒的等待时间超过了,那么它将抛出异常。

        WebDriverWait wait = new WebDriverWait(driver, 40);
        wait.until(ExpectedConditions.elementToBeClickable(driver.findElementById("element-id"));

推荐阅读