我必须右键单击页面上的元素才能打开/选择上下文菜单。当我尝试这样做时,使用 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);
但是,它应该像在所有其他浏览器中一样右键单击该元素;它在不同的位置而不是给定的元素上执行右键单击。
谁能帮我解决这个问题?
最佳答案
操作系统更新期间存在 IE 安装问题。似乎在重新镜像后得到解决。
关于javascript - 使用 selenium webdriver 在 IE11 中右键/上下文单击无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56441688/