在selenium web驱动程序中使用java脚本执行器单击列表项

时间:2018-05-16 12:08:59

标签: javascript java selenium-webdriver

我需要收集多个链接,然后点击每个链接从网站上提取一些信息到excel.So我收集了一个列表中的所有链接,我试图点击每个元素,具体取决于索引。我没有得到任何异常,点击也没有在元素上执行。我点击链接使用javascript executor.Normal点击并且操作在这里不起作用。

List<WebElement> titles=driver.findElements(By.xpath("//*[@class='product-name']"));
for(int i=0;i<titles.size();i++)
    {
    String title1=titles.get(i).getText();
    System.out.println(title1);
    Thread.sleep(5000);
        if(titles.get(i).isEnabled())
        {
        System.out.println("TAKE ACTION");
        js.executeScript("arguments[0].click();", titles.get(i));
        }
    }

1 个答案:

答案 0 :(得分:0)

根据您的HTML,您可以收集所有List<WebElement> elements = driver.findElements(By.xpath(".//h2[@class='product-name']//a")); for (WebElement element : elements) { driver.navigate().to(element.getAttribute("href")); } 网址,而不是点击标题。

示例代码:

{{1}}