我必须右键单击页面上的某个元素才能打开/选择上下文菜单。当我尝试执行此操作时,使用Action类会执行单击操作,但不会在元素上执行。它在屏幕上的其他位置执行contextClick()
命令,而不是将我作为参数传递给contextClick()
的元素。
我正在使用IE11在Windows 10上运行应用程序。
这是页面的HTML代码。
<ul id="menus" class="list" style="height: 613.734px;">
<li id="1" class="default">
<div class="inner-div" style="display: inline;">
<span class="menu"></span>
<span class="menu-title">Delete All</span>
</div>
<div class="menuBtn" title="Hide"></div>
</li>
<li id="2" class="default">
<div class="inner-div" style="display: inline;">
<span class="menu"></span>
<span class="menu-title">Delete User</span>
</div>
<div class="menuBtn" title="Hide"></div>
</li>
<li id="3" class="default">
<div class="inner-div" style="display: inline;">
<span class="menu"></span>
<span class="menu-title">Add User</span>
</div>
<div class="menuBtn" title="Hide"></div>
</li>
</ul>
这是我正在尝试的代码。
WebElement element = driver.findElement(By.xpath("//li[.='Add User']");
Actions action= new Actions(driver);
action.contextClick(element).perform();
我也尝试过下面的InternetOptions,但是没有运气。
InternetExplorerOptions ieCapabilities = new InternetExplorerOptions();
ieCapabilities.setCapability("nativeEvents", true);
ieCapabilities.setCapability("unexpectedAlertBehaviour", "accept");
ieCapabilities.setCapability("ignoreProtectedModeSettings", true);
ieCapabilities.setCapability("disable-popup-blocking", true);
ieCapabilities.setCapability("enablePersistentHover", false);
new InternetExplorerDriver(ieCapabilities);
它应该像在所有其他浏览器中一样右键单击元素。它会在其他位置而不是给定的元素上执行右键单击。
有人可以帮我吗?
答案 0 :(得分:1)
在OS更新期间存在IE安装问题。重新成像后似乎可以解决。