Перейти к содержимому

Фотография

Selenium. Python. Работа с таблицами с подгружаемыми данными в DOM.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Dob3r

Dob3r

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Dober


Отправлено 04 января 2018 - 10:02

Добрый день! 

 

Работаю с Python и Selenium.

 

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

 

Задача: Необходимо получить данные из всех строк таблицы.

 

Проблема: Так как не все строки видны в DOM, то мой код работает только для тех строк, которые видны.

 

Вопрос: Есть ли какой то инструмент, который может выгрузить все строки таблицы и таким образом можно получить все данные?


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 04 января 2018 - 12:47

Это через БД делается, скроллить странное решение


  • 0

#3 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 04 января 2018 - 13:21

Ну да, если есть доступ в БД, то лучше сразу туда слать запрос.

 

Какая вообще сверхзадача стоит - тестируете свое приложение или скрапингом данных с какого-то сайта занимаетесь?


  • 0

#4 Dob3r

Dob3r

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Dober


Отправлено 04 января 2018 - 13:45

Да, тестирую рабочее приложение. 


  • 0

#5 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 04 января 2018 - 14:09

Да, тестирую рабочее приложение. 

 

Тогда попросите разработчиков, чтобы сделали прямую выдачу по запросу. Python + Requests в помощь. 


  • 0

#6 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 04 января 2018 - 14:11

если надо протестировать функцию веб-страницы "подгрузка данных при скроллировании" - тогда надо создать веб-драйвер(селениум) тест который будет тестировать что при открытии страницы только часть данных отображается, потом сделать скролл и проверить что отобразилось больше данных

если надо протестировать что рест-сервис возвращает все данные - тогда надо интеграционный тест сделать

 

а скорее всего в данном случае нужно просто создать юнит тест, который проверяет что метод возвращает все нужные данные, и не надо никаких ненужных доступов из Селениум в базу данных


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных