使用nativeEvents

时间:2015-11-18 16:30:05

标签: java internet-explorer selenium selenium-webdriver automated-tests

我有一个隐藏在按钮中的菜单,当点击该按钮时,会显示菜单,隐藏菜单的结构如下:

<button id="buttonID"></button> 
<ul class="ulClass">
   <li>
   <li>
   <li>
   <li>
</ul>

我想点击第二项,所以我做了:

webDriver.findElement(By.xpath("//ul[@class='ulClass']/li[2]")).click();

它适用于FF和Chrome,但不适用于IE,原因是因为我将nativeEvents设为false给IE:

capabilities.setCapability("nativeEvents", false);

这个功能是针对IE的整个测试而设置的,没有它,整个测试都不会起作用,现在我只需要点击这个项目,但不能因为这个功能。

是否有任何解决方法可以点击此项,但我仍然跳过此功能,因为显然我们无法在运行时切换功能。感谢。

2 个答案:

答案 0 :(得分:0)

我会尝试JavaScript而不是原生点击

var element = webDriver.findElement(By.xpath(“// ul [@ class ='ulClass'] / li [2]”)); Driver.ExecuteJavaScript( “参数[0]。点击();”,元素);

答案 1 :(得分:0)

感谢所有建议,我用JavascriptExecutor解决了这个问题:

JavascriptExecutor js = (JavascriptExecutor)webDriver;
js.executeScript("arguments[0].click();", element);