Всем привет!
Ситуация такая:
Есть код:
<div id="id"> <b>text1</b> <br>text2<br> <br>text3<br> <i>text4</i> </div>
.//div[@id='content']/[not(self::i)]
Отправлено 02 марта 2017 - 12:29
Всем привет!
Ситуация такая:
Есть код:
<div id="id"> <b>text1</b> <br>text2<br> <br>text3<br> <i>text4</i> </div>
.//div[@id='content']/[not(self::i)]
Отправлено 02 марта 2017 - 12:41
//*[@id='id']/*[not(self::i)]
Отправлено 02 марта 2017 - 12:50
//*[@id='id']/*[not(self::i)]
Попробовал, помогло, но не совсем. Из моего примера троки text2 и text3 тоже в итоге отрезаются.
Отправлено 02 марта 2017 - 13:00
//*[@id='id']/*[not(self::i)]Попробовал, помогло, но не совсем. Из моего примера троки text2 и text3 тоже в итоге отрезаются.
//*[@id='id']/text() | //*[@id='id']/*[not(self::i)][text()]
Отправлено 02 марта 2017 - 13:17
//*[@id='id']/*[not(self::i)]Попробовал, помогло, но не совсем. Из моего примера троки text2 и text3 тоже в итоге отрезаются.
//*[@id='id']/text() | //*[@id='id']/*[not(self::i)][text()]
Класс, но как это описать на Java?
Я получаемый текст делал через getText и записывал в строку. Тоесть так:
String allData = wd.findElement(By.xpath("//*[@id='id']")).getText();
Мне в итоге надо получить строку.
Отправлено 02 марта 2017 - 13:28
String allData = wd.findElement(By.xpath("//*[@id='id']/text() | //*[@id='id']/*[not(self::i)][text()]")).getText();
Отправлено 02 марта 2017 - 13:31
String allData = wd.findElement(By.xpath("//*[@id='id']/text() | //*[@id='id']/*[not(self::i)][text()]")).getText();
На самом деле нет. Потому что wd.findElement ожидает тип WebElement, а в Вашем случае получается, что он передает строку. Без параметра /text() я тоже пробовал подставить но в итоге так же ничего не получается.
И вообще вываливается исключение
org.openqa.selenium.InvalidSelectorException: invalid selector: The result of the xpath expression "//*[@id='content']/text() | //*[@id='content']/*[not(self::i)][text()]" is: [object Text]. It should be an element.
Отправлено 02 марта 2017 - 13:45
а так не пробовали ?
//*[@id='id'] | //*[@id='id']/*[not(self::i)]
Отправлено 02 марта 2017 - 13:47
а так не пробовали ?
//*[@id='id'] | //*[@id='id']/*[not(self::i)]
Пробовал, там результат в итоге не отличается от исходного.
В целом задачу решил, в другом месте с помощью регулярных выражений, но всё же хотелось бы понять на будущее возможно ли решение с помощью исключения xpath
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Как взять xpath третьего элемента снизу в списке товаров?Автор sechd, 10 апр 2020 selenium, xpath |
|
|||
Тестирование →
Автоматизированное тестирование →
Поиск xpathАвтор sechd, 05 апр 2020 selenium, xpath, html |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
поиск элемента по xpathАвтор Choson, 22 окт 2019 selenium, python, xpath |
|
|||
Тестирование →
Автоматизированное тестирование →
Кто может подсказать как тестировать music playerАвтор MoshneagaOleg, 09 авг 2018 java, pagefactory, pageobject и 1 еще... |
|
|||
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Элементы без ID на angular - element.click() xpathАвтор Vikonder, 07 фев 2018 xpath, angular, selenium |
|
0 пользователей, 0 гостей, 0 анонимных