XPath text/replace 查找可能包含软连字符的文本
XPath text/replace to find text which may contain soft-hyphen
搜索文本:Bescheinigungen
我的 XPath 还应该 return 包含软连字符的元素,例如:Beschei\u00ADnigungen
.
我试过这个:
//*[text()[replace(., "\u00AD", "")="Bescheinigungen"]]
无效。需要一些帮助,请。
好的,必须使用一些 'helper' 代码才能使其工作:
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);
}
搜索文本:Bescheinigungen
我的 XPath 还应该 return 包含软连字符的元素,例如:Beschei\u00ADnigungen
.
我试过这个:
//*[text()[replace(., "\u00AD", "")="Bescheinigungen"]]
无效。需要一些帮助,请。
好的,必须使用一些 'helper' 代码才能使其工作:
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);
}