当前位置: 首页 > 知识库问答 >
问题:

等待,直到元素被禁用

岳嘉石
2023-03-14

我使用这段代码点击下拉列表:

        // Wait element to be clickable
        WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
        webDriverWait.until(ExpectedConditions.visibilityOfElementLocated(By.id(dropDownId)));

        // Click dropdown to select item
        WebDriverWait wait = new WebDriverWait(driver, 10);
        WebElement ele = driver.findElement(By.id(dropDownId));
        wait.until(ExpectedConditions.elementToBeClickable(ele));
        ele.click();

我得到错误element click intercepted:element...可能是因为有一个显示登录栏的层。之后,该元素被禁用,代码抛出异常。

是否可以实现一个等待元素不被禁用的listen?

共有1个答案

堵毅然
2023-03-14

这就是你要找的-

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("YourXpath"))).isEnabled();
 类似资料:
  • 问题内容: 我在Python 2.7中使用selenium,并且有以下代码,但是我正在寻找一种更有效的方法: 问题答案: 您无需使用一段时间。它已经等待您在WebDriverWait()函数中显示的时间。

  • 问题内容: 我正在开发Chrome中的扩展程序,但我想知道:找出元素何时存在的最佳方法是什么?使用纯JavaScript,间隔检查直到元素存在,或者jQuery是否有一些简单的方法来执行此操作? 问题答案: 由于性能问题,不建议将其与其他DOM突变事件一起弃用- 推荐的方法是使用MutationObserver来监视DOM。不过,只有新的浏览器才支持此功能,因此您应该在不可用时退回。

  • 问题内容: 量角器在尝试单击按钮时失败。最初,按钮将处于禁用状态(一段时间后将被启用),量角器认为按钮已准备就绪,单击按钮后失败。 所以我希望量角器脚本要等到按钮启用。我在下面尝试过,但是没有用。有人可以发布完整的代码来等待该元素被启用吗? 问题答案: 有一个非常合适的Expected Condition– 它会等待某个元素同时 可见和启用 :

  • 问题内容: 我正在测试一个UI,在该UI中用户单击“删除”按钮,而表条目消失。因此,我希望能够检查表条目是否不再存在。 我曾尝试使用invert ,希望它的意思是“期望不存在指定的元素”。我的代码是这样的: 但是,我发现即使这样做,我也因一个说法说元素“ foo”不存在。当然,我想要的是没有这样的元素,但是我不希望引发异常。 那么,如何等待直到元素不再存在?我希望有一个示例,该示例尽可能不依赖于捕

  • 我有一个Selenium脚本(Python),它单击一个回复按钮以显示类anonemail。类anonemail显示所需的时间各不相同。因此,在元素出现之前,我必须使用sleep。 我想等到类已经出现,而不是使用睡眠。我听说过等待命令,但我不知道如何使用它们。 这是我到目前为止所拥有的:

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?