selenium invalid element state:元素当前不可交互,可能无法操作

Kai*_*awi 20 selenium

我有这个问题与硒; 我找不到我的textinput:它总是引发这个例子:

Element is not currently interactable and may not be manipulated
Run Code Online (Sandbox Code Playgroud)

在这一行:

Driver.FindElement(By.Id("ctl00")).Clear();
Run Code Online (Sandbox Code Playgroud)

我试着像这样等待:

Waiting.Until(driver =>(By.Id("ctl00")));
Run Code Online (Sandbox Code Playgroud)

Waiting.Until(ExpectedConditions.ElementExists(By.Id("ctl00"))); 
Run Code Online (Sandbox Code Playgroud)

但没有运气.

Dan*_*ama 8

如果抛出异常Clear(),则元素很可能出现在页面上,输入处于readonly状态.


小智 5

首先尝试验证 XPath,因为可能会针对多个元素。因此,元素当前不可交互并且可能无法操作。

我遇到了同样的问题,并找到了上面的解决方案,因为我的 XPath 正在定位 DOM 上而不是页面上存在的多个元素。

更正元素 XPath,错误将通过添加 webdriver 等待自动解决。


小智 2

当元素不可见时,有时会发生这种情况。即使元素也可见,它也会发生。尝试使用不同的标签,如 xpath 等。

您可以使用以下脚本检查元素状态

driver.findElement(By.className("")).isEnabled()
Run Code Online (Sandbox Code Playgroud)