我需要从html页面检索锚标签和锚标签值,我在java中使用selenium来检索页面的html代码。但是我需要以相反的顺序打印锚标签和锚标签值,但不能排序。
我的HTML代码如下所示: -
<div id="container">
<a href="www.flipkart.com">"Flipkart"</a>
<a href="www.amazon.com">"Amazon"</a>
<a href="www.ebay.com">"Ebay"</a>
<a href="www.newegg.com">"NewEgg"</a>
</div>
我用来检索这些锚标记的Java代码如下所示: -
List<WebElement> list = driver.findElements(By.xpath("//div[@class='container']//a[@href]"));
for (WebElement element : list) {
String link = element.getAttribute("href");
System.out.println("Link: " + link + ", Title: " + element.getText());
输出我是这样的: -
Link: www.flipkart.com , Title: Flipkart
Link: www.amazon.com , Title: Amazon
Link: www.ebay.com , Title: Ebay
Link: www.newegg.com , Title: NewEgg
但是,我需要的输出如下: -
Link: www.newegg.com , Title: NewEgg
Link: www.ebay.com , Title: Ebay
Link: www.amazon.com , Title: Amazon
Link: www.flipkart.com , Title: Flipkart
答案 0 :(得分:1)
您可以使用以下内容来反转列表:
Collections.reverse(list);
所以最终的代码看起来像这样:
List<WebElement> list = driver.findElements(By.xpath("//div[@class='container']//a[@href]"));
Collections.reverse(list);
for (WebElement element : list) {
String link = element.getAttribute("href");
System.out.println("Link: " + link + ", Title: " + element.getText());
}