Как я могу печатать только отображаемый / видимый / (показанный на экране) текстовый контент любого веб-сайта с использованием python selenium - PullRequest
0 голосов
/ 06 мая 2019

Я хочу напечатать / получить только видимый текстовый контент {в настоящее время то, что видит пользователь) с любого веб-сайта.

Я попытался использовать несколько подходов, и я получаю все тексты со страницы, но не предполагаемые тексты.

driver = webdriver.Chrome(chrome_options=options) #'CustomerProject-createCustomerProject&/Create'
url = "https://techcrunch.com/"
driver.get(url)
element = driver.find_element_by_xpath(r"//body")
driver.execute_script("return arguments[0].innerText", element) 

Есть ли способ получить только видимые тексты.

Примечание: если решение - чистый javascript, более чем приветствуем.

1 Ответ

0 голосов
/ 06 мая 2019

Получите элемент body и используйте метод .text, чтобы получить текст этого элемента.

Попробуйте:

driver.get("https://techcrunch.com/")
element = driver.find_element_by_tag_name("body")
print(element.text)

Если вы предполагаете, что(opens in a new window) текст не виден в документе, но присутствует в результате, потому что он присутствует на странице.Если вы попробуете Ctrl + A и скопируете текст, вы получите тот же результат.Вы даже можете искать текст на странице, используя Ctrl+F.

Причина, по которой вы не видите текст, заключается в том, что он обрезан с использованием webkit-clip-path.

Свойство CSS clip-path создает область отсечения, которая задает, какая часть элемента должна отображаться.Части, которые находятся внутри области, показаны, а те, которые снаружи, скрыты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...