这就是我必须做的事情。我想要访问像 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/