Reputation: 3652
Searching for a text: Bescheinigungen
my XPath should also return elements which include a soft-hyphen like: Beschei\u00ADnigungen
.
I tried this:
//*[text()[replace(., "\u00AD", "")="Bescheinigungen"]]
Doesn't work. Need some help, please.
Upvotes: 1
Views: 591
Reputation: 3652
Okay, had to use some 'helper' code to make it work:
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);
}
Upvotes: 1