You need to enable JavaScript to run this app. 如何使用Python Selenium滚动Instagram弹出式粉丝列表
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Selenium滚动Instagram弹出式粉丝列表

问题核心原因

你调用的window.scrollTo(0, 80)只会操作全局浏览器窗口的滚动条,仅能控制Instagram主页面的滚动范围。弹出的粉丝列表是独立挂载在DOM里的专属可滚动div,有自己独立的滚动位置属性,完全不受全局窗口滚动逻辑的影响,自然不会跟着你的滚动指令移动。

可直接复用的实现方案

  1. 第一步先定位到粉丝列表的专属滚动容器
    Instagram的弹窗类组件结构固定,可通过对话框的角色属性定位到内部的独立滚动区域:
    from selenium.webdriver.common.by import By
    
    # 匹配粉丝弹窗内部的可滚动容器,可根据实际页面的类名微调XPath
    followers_scroll_area = driver.find_element(
        By.XPATH,
        "//div[@role='dialog']//div[contains(@class, 'isolate-scroll')]"
    )
    
  2. 把原本操作全局窗口的滚动代码,替换为操作当前定位到的容器的脚本
    两种常用的滚动逻辑按需选择即可:
    • 按固定步长逐次滚动,模拟用户手动滑动的效果
    # 每次将容器向下滚动80px
    driver.execute_script(
        "arguments[0].scrollTop += 80",
        followers_scroll_area
    )
    
    • 直接将容器滚动到最底部,触发懒加载拉取后续粉丝数据
    driver.execute_script(
        "arguments[0].scrollTop = arguments[0].scrollHeight",
        followers_scroll_area
    )
    

实操提示:这类针对DOM元素的JS操作,必须把提前定位好的元素通过arguments[0]参数传入执行脚本,不要直接在JS代码里硬编码写元素查找逻辑,否则很容易因为页面结构动态变化出现定位失效。如果要加载全部粉丝列表,可在循环中重复执行滚动脚本,直到检测到容器的scrollHeight数值不再增长,就代表所有内容已经加载完成。

内容的提问来源于stack exchange,提问作者sunil ghimire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.08 08:57:03