org.openqa.selenium.ElementNotInteractableException - 键盘无法访问元素

时间:2018-04-27 11:25:23

标签: selenium

工具:

硒3

问题:

我正在运行现有的Selenium测试用例,我是Selenium的新用户。 测试运行时,我可以使用页面源在Mozilla上看到如下呈现的组件:

<input type="text" autocomplete="off" id="home.name" name="home.locator.name" size="20" maxlength="64" value="">

仍然在通过命令行运行测试后,selenium会抛出错误 -

org.openqa.selenium.ElementNotInteractableException - Element is not reachable by keyboard. 

我也尝试过根据下面添加延迟,但似乎它不起作用。

 WebDriverWait wait = new WebDriverWait(getDriver(), 120);
 wait.until(ExpectedConditions.visibilityOf(getDriver().findElement(By.id("home.name")))); 

有人可以指导为什么会出现这种行为?

请注意,我正在通过gradle和命令行运行测试

1 个答案:

答案 0 :(得分:0)

Selenium WebDriver使用浏览器的本机方法与Web元素进行交互。但是,有时Web元素不响应这些本机方法。在这种情况下,最好的选择是Java Script。

请使用以下JavaScript与网络元素进行互动 -

WebElement element = driver.findElement(By.id("home.name");

((JavascriptExecutor)driver).executeScript("arguments[0].click();",element);

请注意,我在这里使用了&#34;点击&#34;关于元素的方法。但是,您可以使用您选择的方法替换它。