java - 如何在selenium java中以相反的顺序打印 anchor 标记及其Web元素的值?

标签 java selenium selenium-webdriver selenium-chromedriver

我需要从 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/

相关文章:

java - 反射调用PowerManager类的setPowerSaveMode

java - 无法单击/从下拉列表中选择元素

java - 单击关闭窗口按钮但窗口未关闭

java - 创建特定 servlet 的两个实例

检测有效网页的Java函数

java - Java 9 中便利工厂方法返回的特定集合类型

java - 有没有办法使用 har 代理捕获取消的请求?

java - 在java中使用firefox webdriver从当前节点获取Xpath

maven - 我们可以在 selenium 中添加驱动程序作为 maven 依赖项吗

php - 将 cookie 过期值转换为可读格式