我是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/