java - 如何在 Selenium Web 驱动程序中处理带有空白目标的链接

标签 java selenium selenium-webdriver httpconnection

我正在使用 htttpurlconnection 检查页面上的 Activity 链接。

我遇到过一种情况。

您可以看到一些带有 target="_blank"的链接

我不想将此类链接包含到链接列表中。我尝试使用目标的 getattribute 属性排除相同的内容。但它不起作用。

! /image/ICJS3.jpg

List <WebElement> activelinks = new ArrayList<WebElement>();

for (int i=0;i<linkslist.size();i++) {

    system.out.println("link address of full links and images>>> " +  linkslist.get(i).getAttribute("href")); 

    if (linkslist.get(i).getAttribute("href")!=null && (linkslist.get(i).getAttribute("target")!="_blank" )) {
        activelinks.add(linkslist.get(i));
        System.out.println("active link " + 
        activelinks.get(i).getAttribute("href"));
    }
}

最佳答案

最简单的选项是对 XPath selector 执行过滤级别,如果您想匹配以下链接:

  • 具有 href 属性

  • target 属性不等于_blank

您可以简单地匹配此类链接:

//a[@href and not(@target='_blank')]

关于您的方法,您应该使用 String.equals()比较方法,建议代码为:

List<WebElement> activeLinks = linkslist
        .stream()
        .filter(link -> link.getAttribute("href") != null)
        .filter(link -> !link.getAttribute("target").equals("_blank"))
        .collect(Collectors.toList());

关于java - 如何在 Selenium Web 驱动程序中处理带有空白目标的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56649511/

相关文章:

java - 如何解决 ElementNotInteractableException : Element is not visible in Selenium webdriver?

python - 将 bash/python 脚本与 Selenium 集成

java - 如何点击购物车页面中的更新按钮 - Url ="http://live.guru99.com/"

Python Selenium IE - 单击 anchor 不会更改 URL

java - Action 类在 selenium webdriver 中以 Debug模式工作

java - 如何将 JAR 文件添加到现有的 gradle 项目?

java - 如何使用 Selenium WebDriver 获取 CSS 选择器?

java - 如何使用 Java 从流中分割字符串

java - Tomcat 6线程问题

python - 如何使用 Python 和 Selenium Webdriver 收听音频文件