带有 nativeEvents 的 InternetExplorer Webdriver
InternetExplorer Webdriver with nativeEvents
我有一个隐藏在按钮中的菜单,当点击按钮时,然后显示菜单,隐藏菜单的结构如下:
<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整个测试设置的,没有它整个测试就不行,现在我只要点击这个项目就因为这个能力点不了。
是否有任何解决方法可以单击此项目,但我仍然跳过此功能,因为显然我们无法在 运行 时间内切换功能。谢谢
我会尝试 JavaScript 而不是原生点击
var element=webDriver.findElement(By.xpath("//ul[@class='ulClass']/li[2]"));
Driver.ExecuteJavaScript("arguments[0].click();",元素);
感谢所有建议,我用 JavascriptExecutor 解决了这个问题:
JavascriptExecutor js = (JavascriptExecutor)webDriver;
js.executeScript("arguments[0].click();", element);
我有一个隐藏在按钮中的菜单,当点击按钮时,然后显示菜单,隐藏菜单的结构如下:
<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整个测试设置的,没有它整个测试就不行,现在我只要点击这个项目就因为这个能力点不了。
是否有任何解决方法可以单击此项目,但我仍然跳过此功能,因为显然我们无法在 运行 时间内切换功能。谢谢
我会尝试 JavaScript 而不是原生点击
var element=webDriver.findElement(By.xpath("//ul[@class='ulClass']/li[2]")); Driver.ExecuteJavaScript("arguments[0].click();",元素);
感谢所有建议,我用 JavascriptExecutor 解决了这个问题:
JavascriptExecutor js = (JavascriptExecutor)webDriver;
js.executeScript("arguments[0].click();", element);