2 selenium selenium-chromedriver
我正在使用 Selenium 从 Twitter 上抓取关注者姓名,并且该页面是无限的,每当我向下滚动时,我都可以看到新的关注者。不知何故,我想转到页面底部,以便我可以抓取所有关注者。
while number != 5:
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
number = number + 1
time.sleep(5)
usernames = driver.find_elements_by_class_name(
"css-4rbku5.css-18t94o4.css-1dbjc4n.r-1loqt21.r-1wbh5a2.r-dnmrzs.r-1ny4l3l")
for username in usernames:
print(username.get_attribute("href"))
Run Code Online (Sandbox Code Playgroud)
现在代码滚动了 5 次。我已经设置了一个静态值,但我不知道需要多少滚动才能到达页面底部。
使用下面的代码进行无限加载。它将继续滚动,直到加载新元素,即页面大小发生变化。
# Get scroll height after first time page load
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page / use a better technique like `waitforpageload` etc., if possible
time.sleep(2)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4271 次 |
| 最近记录: |