selenium 并点击“a"使用 href=javascript [英] selenium and clicking an "a" with href=javascript

查看:159
本文介绍了selenium 并点击“a"使用 href=javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

<a href="javascript:hideDiv();"样式=颜色:#000">关闭窗口</a><表格边框=0"><tbody></tbody>

对于代码,我有:

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

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

更新:这是最终有效的代码:

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

解决方案

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

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

这是 C# 版本.我确定 Java 形式非常相似.

I'm trying to click a link and am having difficulties. The relevant HTML code is:

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

For code, I have:

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

This does find the correct element, however it doesn't seem to execute the JavaScript to close the window that happens if I manually click the link. Any ideas?

UPDATE: Here is the code that finally worked:

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

解决方案

I frequently come across elements that WebDriver doesn't seem to be able to click. In these cases I use the following pattern:

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

This is the C# version. I'm sure the Java form is quite similar.

这篇关于selenium 并点击“a"使用 href=javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆