Как получить только надежный контент (не включая цитаты) с помощью Selenium - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу знать, что получить некоторый контент, не содержащий цитаты.

https://forumd.hkgolden.com/view.aspx?type=BW&message=7219211

На следующем рисунке приведен пример

enter image description here

Я хочу получить только «唔 提 冇 咩 人 記得», но я использую следующий код, чтобы получить оба содержимого.

content = driver_blank.find_element_by_xpath('/html/body/form/div[5]/div/div/div[2]/div[1]/div[5]/table[24]/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/div')
print(content.text)

я хочу захватить следующий код:

image

enter image description here

Кто-нибудь может мне помочь? Спасибо ~~~

Можно ли решить метод not(starts-with?

1 Ответ

1 голос
/ 17 апреля 2020

Используйте строку кода ниже для извлечения только содержимого текстового узла

element = driver.find_element_by_css_selector('div.ContentGrid')
text = driver.execute_script("return arguments[0].childNodes[3].textContent", element);
print(text)

Selenium не позволит вам непосредственно найти элемент с помощью текстового узла. Хотя вы можете использовать некоторый код JavaScript, чтобы это произошло.

Код Объяснение:

arguments[0].childNodes[3] указывает на третий дочерний элемент вашего узла контекста, который является div.ContentGrid. Обратите внимание, что первые 2 дочерних элемента узла контекста не заполнены (пробовал с общим кодом HTML, поэтому вы использовали индекс 3 .

...