Я использую версию Java "1.8.0_191" и селен 3.141.59.
Я пытаюсь выяснить, содержит ли страница слово «ошибка» или «ошибка». Кроме того, я хочу, чтобы он не учитывал регистр.
Найти текст легко:
List<WebElement> elementList = driver.findElements(By.xpath("//*[contains(text(), 'error')]"));
К тому же мне все труднее сделать это без учета регистра. До сих пор я пробовал это (вдохновленный этим вопросом ):
List<WebElement> elementList = driver.findElements(By.xpath("/html/body//text()[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'error')]"));
Но возвращается следующая ошибка:
org.openqa.selenium.WebDriverException: TypeError: Expected an element or WindowProxy, got: [object Text] {}
Я тоже пробовал это:
List<WebElement> elementList = driver.findElements(By.xpath("//*[contains(transate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'error')]"));
Но это тоже не работает (так как это не юридическое выражение).
Итак, есть идеи, как заставить это работать?