如何点击selenium中的javascript元素

时间:2015-03-30 06:37:20

标签: selenium-webdriver

<a href="javascript:onclick=valueIs='low';loadData('low')" id="tab8" class="sel">52 Low</a>

这是html部分由开发人员编码的方式

1 个答案:

答案 0 :(得分:0)

如果链接(标签)的ID没有变化,那么你应该输入:

((JavascriptExecutor)driver).executeScript("document.getElementById('tab8').click()");

甚至更简单(如Vivek所说):

((JavascriptExecutor)driver).findElement(By.id('tab8')).click();

如果标签的ID可能会发生变化,您可以按文字搜索:

((JavascriptExecutor)driver).executeScript(
    "var tabs= document.getElementsByTagName("a");" +
    "var tabText= "52 Low";" +
    "for (var i = 0; i < tabs.length; i++) {" +
    "  if (tabs[i].textContent == tabText) {" +
    "    tabs[i].click();" +
    "    break;" +
    "  }" +
    "}");