【问题标题】:how to catch the values of multiple xpath from a search result and iterate them?如何从搜索结果中捕获多个 xpath 的值并对其进行迭代?
【发布时间】:2016-10-26 03:53:49
【问题描述】:

我是新手,这是我的第一个问题:

在amazon.com上,输入'stamps'关键字并点击搜索按钮,我得到了数百万条结果,亚马逊在每个页面上显示15个结果,5星旁边的数字是每个邮票产品的客户评论, 例如,第一个邮票产品有 140 条客户评论,它是一个 xpath 值,我想捕获第一页上的 15 个 xpath 值并对其进行迭代。我怎样才能做到这一点? 提前谢谢!

【问题讨论】:

标签: java selenium for-loop xpath switch-statement


【解决方案1】:

检查下面的代码,

List<String> itemsReviewCount = new ArrayList<String>();
for(WebElement items: driver.findElements(By.cssSelector(".a-fixed-left-grid-col.a-col-right"))){
//below condition is to skip the sponsored items. Comment this, if you want to retrieve the sponsored items as well
if(items.findElements(By.xpath("//h5[text()='Sponsored']")).size() > 0)
   continue;
itemsReviewCount.add(items.findElement(By.cssSelector("span+.a-size-small.a-link-normal.a-text-normal")).getText());            
}

此代码将检索正在显示的 15 个项目的客户评论计数(不包括下面显示的赞助项目)

【讨论】:

  • 非常感谢您的及时回复,让我将其实现到我的代码中。 :)
猜你喜欢
  • 2023-03-22
  • 2014-05-02
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-17
  • 1970-01-01
相关资源
最近更新 更多