【发布时间】:2021-07-12 12:31:35
【问题描述】:
试图滚动浏览网页 like this 并抓取他们的公司名称和描述。一旦滚动在网页上达到静止点,我无法破解“加载更多”选项。我如何才能穿透“加载更多”并继续将内容存储在列表或 df 中,以便稍后解析?
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.cloudstack.org/")
time.sleep(2)
scroll_pause_time = 1
screen_height = driver.execute_script("return window.screen.height;")
i = 1
while True:
driver.execute_script("window.scrollTo(0, {screen_height}*{i});".format(screen_height=screen_height, i=i))
i += 1
time.sleep(scroll_pause_time)
scroll_height = driver.execute_script("return document.body.scrollHeight;")
if (screen_height) * i > scroll_height:
break
html_source = driver.page_source
data = html_source.encode('utf-8')
我尝试使用此方法单击加载更多内容,但之后我遇到了“ElementNotInteractableException”。
load_more = driver.find_elements_by_class_name("next-selector")
if load_more:
load_more[0].click()
Docs that helped me but never didn't fix the probelm overall
【问题讨论】:
-
我已经回答了你这个问题,但是你用我的回答删除了这个问题。
标签: python python-3.x selenium web-scraping