使用selenium web驱动程序将div +链接到FakeAnchor类时无法单击自定义链接
在我的Ajax应用程序中,我们在div中有下拉+链接(自定义),我想点击自定义链接。我有定位器,它与旧的selenium的Customize链接工作正常但它没有最新的web驱动程序。任何人都可以指出我的问题或提出一些建议吗?
单击“自定义”链接应打开受尊重的选项(它实际打开对话框)。
由于如此复杂的页面DOM没有实际的href或锚标记,定位器点击下拉按钮而不是自定义链接。
css=div[id$='_repeatDesc'][class='FakeAnchor']
<div id="zcs1_repeatDesc" class="FakeAnchor" style="cursor: pointer;">Customize</div>
webDriver().findElement(By.cssSelector("div[id$='_repeatDesc'][class='FakeAnchor']")).click();
答案 0 :(得分:1)
我认为您的定位器不是唯一的,可能是定位下拉元素,这就是它点击下拉按钮而不是自定义链接的原因。
您应该尝试使用By.xpath()
和text()
节点来定位此元素,如下所示: -
webDriver().findElement(By.xpath(".//div[text() = 'Customize']")).click();
或者我在HTML元素中看到id
属性,如果它是唯一的,我将找到欲望元素并且它没有动态更改,您可以尝试使用By.id()
,如下所示: -
webDriver().findElement(By.id("zcs1_repeatDesc")).click();
已修改: - 如果您想使用JavascriptExecutor
点击,请尝试以下操作: -
((JavascriptExecutor)driver).executeScript("arguments[0].click()", webDriver().findElement(By.xpath(".//div[text() = 'Customize']")));