1

搜索文本:Bescheinigungen我的 XPath 还应该返回包含软连字符的元素,例如:Beschei\u00ADnigungen

我试过这个:

//*[text()[replace(., "\u00AD", "")="Bescheinigungen"]]

不工作。需要一些帮助,请。

4

1 回答 1

1

好的,必须使用一些“帮助”代码才能使其工作:

public static WebElement findByText(WebDriver driver, String text) {
  List<WebElement> elements = driver.findElements(By.xpath("//*[text()]"));
  return elements.stream().filter(element -> {
    String elementText = element.getText();
    if (elementText != null && !elementText.isEmpty()) {
      return text.equals(elementText.replace("\u00AD", ""));
    }
    return false;
  }).findFirst().orElseThrow(NotFoundException::new);
}
于 2021-02-26T15:58:41.187 回答