所以我最近在做一个项目,我需要获取一个用户的关注者列表。
为此,我在 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\]
抱歉,如果我的代码有点混乱,我对代码有点陌生,所以除了我的问题之外,如果您对我编写更好的代码有一些建议,请告诉我 如果您难以阅读我的文字,我很抱歉,我不会说英语。
您可以使用以下方式滚动到屏幕底部:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
注意:您将使用 Javascript 来执行此操作,因为普通的 Selenium 无法做到这一点。