如何在 Instagram 中一直滚动关注者列表?

问题描述 投票:0回答:1

所以我最近在做一个项目,我需要获取一个用户的关注者列表。
为此,我在 Python 中使用 Selenium

我首先登录,点击几个按钮后,我点击用户的关注者按钮。
然后,出现一个“盒子”,里面有他的一些追随者。
然而,该列表仅包含 12 关注者,要加载更多,您需要 一直向下滚动,稍等一下,然后再次滚动 等等...

所以我的问题是我不知道如何滚动这个框! 我在网站上寻找一些解决我的问题的方法,但所有这些都不适合我。 其中一种可能性是,也许我选择了错误的元素,但我测试了很多 XPath,但仍然没有成功。

因此,如果有人可以帮助我,我将非常感激!

这是我的代码:

# After clicking on his followers button on his profile button

scrollable_list = driver.find_element(By.XPATH, "/html/body/div\[2\]/div/div/div\[3\]/div/div/div\[1\]/div/div\[2\]/div/div/div/div/div\[2\]/div/div/div\[3\]"
)

# Scroll 3 times

for i in range(3):
driver.execute_script("arguments\[0\].scrollTop = arguments\[0\].scrollHeight", scrollable_list)

     # Wait some time for the rest of the list to load 
     time.sleep(1.5)

# Get the usernames of the list

Followers_elements = driver.find_elements(By.XPATH, "/html/body/div\[2\]/div/div/div\[3\]/div/div/div\[1\]/div/div\[2\]/div/div/div/div/div\[2\]/div/div/div\[3\]/div\[1\]/div"
)
Followers_elements = \[element.text for element in Followers_elements\]

抱歉,如果我的代码有点混乱,我对代码有点陌生,所以除了我的问题之外,如果您对我编写更好的代码有一些建议,请告诉我 如果您难以阅读我的文字,我很抱歉,我不会说英语。

python selenium-webdriver web-scraping scroll instagram
1个回答
0
投票

您可以使用以下方式滚动到屏幕底部:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

注意:您将使用 Javascript 来执行此操作,因为普通的 Selenium 无法做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.