我必须点击自定义复选框,它在div中,如下面的代码:
<div class="checkbox input-group">
<input id="checkboxH" class="checkboxClass" type="checkbox" name="checkboxH">
<label class="required ng-scope" for="checkboxH">
Text of checkbox
</label>
</div>
我使用label作为要点击的元素,它在FF上作为代码
webDriver.findElement(By.xpath("//label[@for='checkboxH']")).click();
但它不适用于Chrome(最新版本)和IE11,错误是:
org.openqa.selenium.WebDriverException:未知错误:元素在点(634,498)处无法点击。其他元素将收到点击:
请注意,该复选框在屏幕上不可见,必须滚动到视图中。但是使用相同的代码,它适用于FF。即使FF不在视图中,也可以单击复选框。
我尝试了另一种方式,就像这样:
WebElement a = webDriver.findElement(By.xpath("//label[@for='checkboxH']"));
a.sendKeys(Keys.ENTER);
a.click();
它也适用于FF,但不适用于Chrome和IE。看来,带有FF的selenium会自动将元素滚动到视图中并执行点击
我被Chrome和IE困在这里。任何帮助非常感谢。感谢
修改
显然,我通过设置此功能修复了IE的问题,它适用于IE:
capability.setCapability("nativeEvents", false);
使用Chrome,我不知道哪个容量可以解决此问题
答案 0 :(得分:0)
我有一个解决方法:我使用Actions移动到元素,然后我使用睡眠2秒,然后它工作。