Как получить видимый текст с веб-страницы, используя Selenium & Python? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь собрать кучу чисел, которые представлены в таблице на веб-странице, к которой я обратился, используя python и Selenium, работающие без головы на Raspberry Pi. Числа не находятся в исходном коде страницы, скорее они глубоко внедрены в сложный html, обслуживаемый несколькими URL-адресами, вызываемыми главной страницей (числа обновляются каждые несколько секунд). Я знаю, что могу разобрать html, чтобы получить нужные мне числа, но числа уже находятся на первой странице в идеальном формате, все в одном месте. Я могу выбрать и скопировать числа при просмотре веб-страницы в Chrome на моем ПК.

Как я могу использовать python и получить веб-драйвер Selenium, чтобы получить эти цифры? Может ли Selenium просто предоставить весь видимый текст на странице? Как? (Я пробовал driver.page_source, но возвращенный текст не содержит цифры). Или есть способ по существу скопировать текст и цифры из таблицы, видимой на экране, используя python и Selenium? (Я посмотрел в xdotool, но не нашел достаточно документации, чтобы помочь). Я только изучаю Selenium, поэтому любые предложения будут высоко оценены!

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Ну, я разобрался с ответом на мой вопрос. Это неловко легко. Эта строка получает именно то, что мне нужно - весь текст, который виден на веб-странице:

page_text = driver.find_element_by_tag_name('body').text

0 голосов
/ 18 октября 2019

Итак, в некоторых ситуациях вы не можете получить некоторую информацию на странице:

  • Информация еще не загружена. Вы должны подождать некоторое время, чтобы подготовить вашу информацию. Вы можете посмотреть эту тему для лучшего понимания. Иногда вы получаете динамически добавляемые элементы страницы с помощью JS и т. Д., Загрузка которых происходит очень медленно.
  • Информация может состоять из данных другого типа. Например, вы ждете текст с цифрами, но вы можете получить изображение с цифрами на странице. В этой ситуации вы должны изменить свою тактику программирования и использовать другие функции, чтобы получить то, что вам нужно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...