t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема з витягуванням тексту з вкладених тегів

Теги: #<Tag:0x00007f9b02d4f2e8> #<Tag:0x00007f9b02d4f0b8> #<Tag:0x00007f9b02d4ea28>

Привіт, маю дану строку html коду:

<span class="sbpqs_a">kcura<b> relativity pricing</b></span>

Виникло таке питання :: потрібно витяну всесь такст з даної строки, зокрема проблема в тому, що текст <b>relativity pricing</b> не витягується за допомогою даного коду:

element = driver.findElements(By.className(“sbsb_a”);
element.getText();

Результатом є лише строка :: “kcura”. Як витягувати текст з вкладених тегів правильно.
Буду радий будь-якій інформації, і взагалі, я тільки новачок, тому якщо можна ще киньте лінки з змістовними прикладами java+Selenium
Якщо можна ще приклади з пошуком/роботою JavaScript елементів
Дуже дякую!

getText() вытягивает значение по innerText, вам же нужен innerHTML.
Т.е. вначале вызываем getAttribute("innerHTML"), затем удаляем ненужные тэги.

П.С. И читаем гайд по форматированию кода. :wink:

Ну если подключен jQuery, то можно передавать значение селектора JS executor’у и вызывать уже API самой библиотеки по отношению к искомому элементу. К примеру:

public void jsClick(final String cssSelector) {
    ((JavascriptExecutor) driver).executeScript("$(\"" + cssSelector + "\").click();");
}

Если нет, то по старинке - передавать WebElement в качестве аргумента в JS скрипт.