我有一个复杂的 Epiphany Web 应用程序,它只与 IE 兼容。以下是 UI 上的操作顺序:
该页面有多个框架,其中有一个按钮,单击该按钮会显示一组菜单选项。它们的 HTML 如下:
<div class="FWDropdownMenu" id="test_dropdown">
<div class="DropdownMenuFrame">
<table>
<tbody>
<tr>
<td>
<span class="eABCD" id="e1">
<div class="DropdownMenuItem" id="test2_dropdown" onclick=return eTop.Fire(1,this,event)">
<table>
<tbody>
<tr>
<td>
<div>Option 1</div>
</td>
</tbody>
</table>
</div>
我想点击选项 1,所以我用它来定位元素:
List<WebElement> options = driver.findElements(By.tagName("table")
.tagName("td").id("e1"));
Webdriver 能够获取元素,但不能点击它。由于元素不可见,我遇到了错误,但即使通过单击菜单选项在屏幕上显示了选项,我仍然无法单击它。
有什么想法/建议吗?
最佳答案
我找到了一个方法。在这里发布,因为它可能会在未来帮助任何人:
WebElement element = driver.findElement(By.id("test2_dropdown"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
此方法使用 javascript 来单击按钮。由于我的应用程序的设计,我无法通过 selenium 单击元素,但使用内部 javascript,我能够成功完成任务。
感谢 Stackoverflow!!
关于java - Selenium Webdriver - Span Div CSS 下拉框 - 无法单击元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405581/