selenium 并单击带有 href=javascript 的“a”

Gre*_*gMa 5 selenium xpath selenium-webdriver

我正在尝试单击链接,但遇到了困难。相关的HTML代码是:

<div id="adHocAddDocDiv" style="display: block;">
    <a href="javascript:hideDiv();" style="color:#000">
        Close window
    </a>
    <table border="0">
        <tbody></tbody>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

对于代码,我有:

driver.findElement(By.xpath("//*[@id='adHocAddDocDiv']/a")).click();
Run Code Online (Sandbox Code Playgroud)

这确实找到了正确的元素,但是它似乎没有执行 JavaScript 来关闭我手动单击链接时发生的窗口。有任何想法吗?

更新:这是最终起作用的代码:

WebElement element = driver.findElement(By.xpath("//[@id='adHocAddDocDiv']/a"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
Run Code Online (Sandbox Code Playgroud)

Cyn*_*ker 4

我经常遇到 WebDriver 似乎无法单击的元素。在这些情况下,我使用以下模式:

var js = (IJavaScriptExecutor)driver;
js.ExecuteScript("$j(\"div[id='adHocAddDocDiv']\").click();");
Run Code Online (Sandbox Code Playgroud)

这是 C# 版本。我确信 Java 形式非常相似。