java - Selenium Webdriver - Span Div CSS 下拉框 - 无法单击元素

标签 java css selenium selenium-webdriver epiphany

我有一个复杂的 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/

相关文章:

c# - 通过 GeckoDriver Selenium 和 C# 加载现有 FirefoxProfile 时, 'System.IO.Compression.ZipStorer' 的类型初始值设定项引发异常

java 和继承构造函数

java - 如何传递args模式工厂java

html - 如何应用从第N行文本开始的 `text-overflow`?

javascript - 使用 Selenium Webdriver 获取定期更新的内容

java - RemoteWebDriver(Firefox) 不适用于 xpath

java - 如何欺骗位置以在 Android 上使用 LocationClient 和 Geofences 进行测试?

java - 如何防止 Jackson 序列化多态类型的注释属性?

html - 带有图像的 flexbox,固定大小

javascript - 如何将使用 jQuery load() 方法从 txt 文件加载的链接样式化到我的 HTML 中?