Python 如何在拆分页面(如谷歌地图)上自动滚动?

Python 如何在拆分页面(如谷歌地图)上自动滚动?,python,selenium,web-scraping,autoscroll,Python,Selenium,Web Scraping,Autoscroll,使用python/selenium抓取google地图评论 以下内容不会滚动: self.driver.execute_script("window.scrollTo(0,document.body.scrollHeight);") 假设这是由于拆分页面造成的,因为类似的代码已经在其他站点上运行 我相信以前有人处理过这个问题。有什么建议吗?这是您想尝试一下如何滚动分割窗口/屏幕的内容。html结构不断变化,因此您应该遵守我在下面尝试的逻辑。我已经用硬编码的延迟显示了这一点,您可以根据自己的要求

使用python/selenium抓取google地图评论

以下内容不会滚动:

self.driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
假设这是由于拆分页面造成的,因为类似的代码已经在其他站点上运行


我相信以前有人处理过这个问题。有什么建议吗?

这是您想尝试一下如何滚动分割窗口/屏幕的内容。html结构不断变化,因此您应该遵守我在下面尝试的逻辑。我已经用硬编码的延迟显示了这一点,您可以根据自己的要求用显式等待代替

按原样运行:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

link = 'https://www.google.com.bd/maps/search/Florida+coffee/@27.604325,-80.9640709,9z/data=!3m1!4b1?hl=en'

driver = webdriver.Chrome()
driver.get(link)
# time.sleep(3) #If the code breaks, activate this line. You should see the scroll being executed
elem = driver.find_element_by_css_selector("[data-section-id^='or:']")
for _ in range(2):
    elem.send_keys(Keys.END)
    time.sleep(2)

driver.quit()
要获取名称,请执行以下操作:

from selenium import webdriver
from selenium.webdriver.support import ui
import pandas as pd

link = 'https://www.google.com.bd/maps/search/Florida+coffee/@27.604325,-80.9640709,9z/data=!3m1!4b1?hl=en'

driver = webdriver.Chrome()
driver.get(link)
wait = ui.WebDriverWait(driver, 10)
elem = [item.text for item in wait.until(lambda driver: driver.find_elements_by_css_selector("h3.section-result-title"))]
df = pd.DataFrame(elem)
print(df)
driver.quit()

嘿@SIM,向老线程道歉。上面的代码是否是用于刮取评论的全部代码?有没有办法把这个推到熊猫数据框里?你是我的英雄!谢谢你,伙计