[英]How to exclude printing all the hidden links from a website using selenium
以下代碼打印網站上的所有鏈接,其中還包括一些隱藏鏈接。 這些隱藏的鏈接在控制台上顯示為空白。 我如何編寫我的代碼,使其只打印網站上的可見鏈接,而不打印空白形式的隱藏鏈接。
driver.get("https://www.duke-energy.com/my-account/sign-in");
List<WebElement> link = driver.findElements(By.tagName("a"));
System.out.println("The total number of links on the page are :"+link.size());
for(int i=0;i<link.size();i++)
{
String url=link.get(i).getText();
System.out.println(url);
}
您可以使用流和filter
器使用isDisplayed
過濾可見鏈接:
driver.get("https://www.duke-energy.com/my-account/sign-in");
List<WebElement> links = new WebDriverWait(driver, 5).until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.tagName("a")));
System.out.println("The total number of links on the page are :" + links.size());
List<WebElement> vlinks = links.stream().filter(WebElement::isDisplayed).collect(Collectors.toList());
System.out.println("The total number of visible links on the page are :" + vlinks.size());
for (WebElement link : vlinks) {
String url = link.getText();
System.out.println(url);
}
可見鏈接和文本不為空:
links.stream().filter(e -> e.isDisplayed() && !e.getText().isEmpty())
.collect(Collectors.toList())
.forEach(e -> System.out.println(e.getText()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.