Прокрутите страницу вниз Google Maps - PullRequest
1 голос
/ 26 июня 2019

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

Я использую Python 3 и пакет Selenium,

Я нашел разные способы прокрутки страниц социальных сетей, таких как Facebook или IG, но код не работает на карте Google,Кроме того, я попытался найти конечный ключ тега body, тоже не сработало.

Я буду рад, если кто-то может помочь,

Заранее спасибо,

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Вы можете использовать скрипт execute_script из селена для прокрутки вниз страницы.

browser = webdriver.Chrome('chromedriver.exe', options=self.browserProfile)
brownser.get('your url here')
browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Если это не прокручивает правильную область, вы можете выполнить щелчок по элементу div, содержащему обзоры, а затем выполнить window.scrollTo

 review_box= lambda: self.browser.find_element_by_xpath("xpath to div")
 review_box().click()

Надеюсь, это поможет! :)

0 голосов
/ 26 июня 2019

Одним из способов прокрутки вниз с помощью селена может быть нажатие на определенный элемент на странице.Если вы сделаете следующее ...

reviews_divs = driver.find_elements_by_class_name('section-review')
reviews_divs[-1].click()

... он нажмет на последний отзыв и, следовательно, перейдет к нему.Хорошо, но пока не то, что вы хотите, поскольку страница не загружает новые результаты ...

Однако, если вы нажмете на первый div после section-review div, новые обзоры теперь будут правильно загружены:

driver.find_element_by_class_name('section-loading').click()

РЕДАКТИРОВАТЬ

Приведенный выше код вступит в силу после того, как вы нажмете «Показать все отзывы», когда попадете на страницу магазина, которую хотите протестировать:

driver.find_element_by_css_selector("button[class*='__button-text'").click()

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