我需要从 html 页面检索 anchor 标记和 anchor 标记值,我在 java 中使用 selenium 来检索页面的 html 代码。但我需要以相反的顺序打印 anchor 标记和 anchor 标记值,但不排序。
我的 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>
我用来检索这些 anchor 标记的 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
最佳答案
您可以使用以下命令来反转列表:
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());
}
关于java - 如何在selenium java中以相反的顺序打印 anchor 标记及其Web元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40767532/