工具:
硒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和命令行运行测试
答案 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;关于元素的方法。但是,您可以使用您选择的方法替换它。