java - 使用 webdriver 单击多个 javascript 链接

标签 java selenium webdriver

这就是我必须做的事情。我想要访问像 http://www.walmart.com/catalog/allReviews.do?product_id=16561041 这样的网站 并展开页面上的所有评论。我要求评论完全公开,因为我需要收集这些数据。我当前的代码可以工作,但速度非常慢。

public void clickAllLinks(String linkText){
    for(int j = 0; j < 20 ; j++){
        try{
        if(driver.findElement(By.linkText("(read full review)")).isDisplayed())
            driver.findElement(By.linkText(linkText)).click();
        }catch(NoSuchElementException e){break;}
    }
}

我正在使用 selenium 2.21 和 firefox 驱动程序。有没有人有什么建议?我对使用 Selenium 还很陌生,所以与你们大多数人相比,我对它的了解相当有限。

最佳答案

使用driver.findElements()而不是driver.findElement()。然后只需循环点击所有链接即可。

如果这没有帮助 - 尝试分析您的代码。你也可以写一些js来点击所有链接。

关于java - 使用 webdriver 单击多个 javascript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10746600/

相关文章:

Python Selenium在传递变量时找不到元素

java - 在不关闭浏览器的情况下关闭 Selenium,同时清理临时文件

xpath - selenium findElement 通过 By.id 之外的其他东西

python - 如何通过 Python 绑定(bind)将 HtmlUnit 驱动程序与 Selenium 结合使用?

java - 使用 JMX 的 GC 使用的 CPU 百分比

java - ListView 未显示在 Fragment 中

selenium - 何时使用隐式等待以及在何处使用

java - 如何检查日期格式是否正确

java - 登录后引导用户进行某些 Activity

selenium - 尝试从日期选择器中选择日期时如何修复 'stale element reference exception'?