Как получить текст элемента без тегов из DOM - PullRequest
0 голосов
/ 30 января 2020

Я использую

self.driver.find_element("//table//tr//td//b[contains(.,'Description')]//following-sibling::text()[1]").text

также пытался

self.driver.find_element("//table//tr//td//b[contains(.,'Description')]//following-sibling::text()[1]").get_attribute("innerHTML")

, но ничего не помогло.

1 Ответ

1 голос
/ 30 января 2020

text() в xoath возвращает текстовый узел, однако Selenium не поддерживает его. Текст является частью тега <td>, вы можете использовать дочерний элемент <input>, чтобы найти его

self.driver.find_element_by_xpath('//input[@name="libdet_edit"]/..').text

Если вы не хотите "description", вы можете найти тег <b> и удалить текст

td = self.driver.find_element_by_xpath('//input[@name="libdet_edit"]/..')
all_text = td.text
b_text = td.find_element_by_xpath(".//b").text
text = all_text.replace(b_text, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...