Javascript 如何使用selenium滚动google地图搜索显示的结果

Javascript 如何使用selenium滚动google地图搜索显示的结果,javascript,python,selenium,google-maps,selenium-webdriver,Javascript,Python,Selenium,Google Maps,Selenium Webdriver,我想得到所有的20个结果,但目前,我无法得到。这是我的代码,我无法滚动到底部以获得所有结果。我只能返回前7条记录。请指导实现此结果还需要哪些步骤 driver = webdriver.Chrome(PATH, options=options) driver.set_page_load_timeout(20) driver.implicitly_wait(10) driver.get(base_url) driver.maximize_window() web_element = driver.f

我想得到所有的20个结果,但目前,我无法得到。这是我的代码,我无法滚动到底部以获得所有结果。我只能返回前7条记录。请指导实现此结果还需要哪些步骤

driver = webdriver.Chrome(PATH, options=options)
driver.set_page_load_timeout(20)
driver.implicitly_wait(10)
driver.get(base_url)
driver.maximize_window()
web_element = driver.find_element_by_id("searchboxinput")
web_element.send_keys("hospital in delhi " + "\n")
web_element.submit()
time.sleep(10)
outer_grid = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, 'mapsConsumerUiCommonScrollable__scrollable-show')))
print("total grid size result is :{}".format(len(outer_grid)))
if len(outer_grid) == 0:
    print("Empty result try again")
    exit(-1)

time.sleep(3)

result_table = outer_grid[0]
driver.execute_script('arguments[0].scrollTo(0, document.body.scrollHeight);', result_table)
h_ele = WebDriverWait(result_table, 10).until(
    EC.visibility_of_all_elements_located((By.CLASS_NAME, "sJKr7qpXOXd__result-container")))
print("Total results from lot : {}".format(len(h_ele)))

for ele in h_ele:
    print("Name : {}".format(ele.text))
    website = ele.find_element_by_tag_name("a")
    http_url = "NA"
    if website.get_attribute("href") is not None:
        http_url = website.get_attribute("href")
        print("website : {}".format(http_url))

driver.quit()

有些网站不容易触发自动加载。 如果需要多次执行此操作,则必须实现一个循环。 我有两种处理方法:

“平滑滚动” “伪平滑滚动”
你在使用什么谷歌地图API?我没有使用任何谷歌地图API。这是一个简单的selenium脚本。感谢您的输入。我尝试了你建议的两种方法。但是他们都没有帮助。试试
driver.execute_脚本(“window.scrollBy(0925)”,”)
total_height = int(driver.execute_script("return document.body.scrollHeight"))
for i in range(1, total_height, 4):
   driver.execute_script("window.scrollTo(0, {});".format(i))
h_ele = WebDriverWait(result_table, 10).until(
    EC.visibility_of_all_elements_located((By.CLASS_NAME, "sJKr7qpXOXd__result-container")))
loc = h_ele[-1].location['y']
driver.execute_script(f"window.scrollTo(0, {loc} + 200);")
driver.execute_script(f"window.scrollTo(0, {loc} + 210);")