#java #selenium #selenium-webdriver #xpath #domxpath
#java #selenium #selenium-webdriver #xpath #domxpath
Вопрос:
Рассмотрим структуру DOM приложения на основе angular следующим образом,
Мне нужно извлечь конкретный текст «отключенный» из указанного выше узла. Пожалуйста, поделитесь своими предложениями, как мне удалось получить этот конкретный текст?
Я попытался найти решение как,
HTML-код, например ("<div id="button" class="login-link s-btn_primary" disabled>")
String value = driver.findElement(By.xpath("//div[@id='button']").getattribute("innerHTML").trim();
Комментарии:
1. Это звучит как проблема X-Y. Вместо того, чтобы просить помощи в решении проблемы, отредактируйте свой вопрос и спросите о реальной проблеме. Что вы пытаетесь сделать?
Ответ №1:
Сначала вы можете взять элемент, например
WebElement element = driver.findElement(By.xpath("//div[@id='button']"));
а затем проверьте, есть ли у него атрибут (если есть, присвоите требуемое значение строке):
String fetched =
element
.findElements(By.xpath(".[@disabled]"))
.size() == 1 ? "disabled" : "";
Последний код означает, что вы проверяете, имеет ли атрибут disabled
attribute . Если да, вы присваиваете disabled
значение своей строке, если нет, вы присваиваете пустое значение.