javascript - Selenium 点击链接href与javascript

标签 javascript java selenium selenium-webdriver href

我是java和selenium的新手。我在点击 href 中带有 javascript 的链接时遇到问题。 以下为页面源码:

href="javascript:navigateToDiffTab('https://site_url/medications','Are you sure you want to leave this page without saving your changes?');" tabindex="-1">Medications

请注意:出于业务考虑,我将实际网址替换为“site_url”。

我尝试了下面的代码,但它不起作用:

driver.findElement(By.cssSelector("a[href^='javascript:navigateToDiffTab'][href$='site_url/medications']")).click();

我不想使用 id 或 linkText,因为它们会随着不同的环境和语言而变化。

任何帮助将不胜感激。

最佳答案

使用下面的代码。它对我来说工作得很好:-

WebElement element= driver.findElement(By.cssSelector("a[href^='javascript:navigateToDiffTab'][href$='site_url/medications']"))

JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);

如果上述代码对您不起作用,则意味着您的定位器有问题。然后尝试使用其他定位器或在您的问题中发布一些 HTML 代码,以便我们可以为您识别准确的定位器。

希望对你有帮助:)

关于javascript - Selenium 点击链接href与javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261788/

相关文章:

javascript - 使用preventDefault

javascript - 图表区和图例区自动更新

java - 使用 Intent 开始上一个 Activity ,而不创建新 Activity

c# - Specflow:为许多场景大纲维护一个示例表

python - 如果错误发生多次则中断

javascript - 当浏览器关闭时,是否有一种可靠的方法来注销用户?

javascript - 如何通过 iphone html 像电话号码一样使地址可点击(可检测)?

web-applications - Checkmarx 的漏洞扫描器报告 Java 的 HibernateTemplate.find() 方法容易受到 SQLi 攻击

java - 如何使用jdbc从表行中获取数据?

javascript - Rselenium 无法点击所有单选按钮(仅限其中一些)