You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Selenium Python登录Instagram触发“CSRF token missing or incorrect”错误且无法手动登录的解决咨询

解决Instagram CSRF Token错误及无法登录问题

首先,从你描述的手动登录也失败这一点来看,问题基本可以排除是Selenium代码的问题——Instagram大概率是把你的设备、IP或者网络环境标记为可疑状态了,先解决手动登录的问题,再回头处理Selenium的配置会更高效。下面是一步步的排查和修复方案:

一、先解决手动登录的问题

  • 彻底清理浏览器所有数据:不要只清Cookies,要把缓存、本地存储、会话数据、浏览历史全清掉。以Chrome为例:打开设置→隐私和安全→清除浏览数据,时间范围选「所有时间」,勾选所有选项后执行清除。Firefox同理,路径是设置→隐私与安全→清除数据。
  • 重置浏览器到默认状态:浏览器的插件、自定义设置也可能导致请求异常。Chrome可以在设置→重置设置→恢复原始默认设置;Firefox在设置→隐私与安全→网站数据→清除数据,再加上附加组件里禁用所有第三方插件后重启。
  • 检查网络环境
    • 先关闭所有代理、VPN工具,确保网络是直连状态,有时候残留的代理配置会让Ins检测到异常请求。
    • 换一个完全不同的网络,比如用手机热点(不要和当前WiFi同运营商),很多时候是IP段被Ins拉黑了,换干净的IP能快速验证。
  • 尝试隐身/私密模式登录:这种模式下浏览器不会加载本地缓存和插件,能排除很多本地配置的干扰,如果隐身模式能登,说明你的常规浏览器配置有问题。
  • 暂停登录尝试一段时间:如果上面的方法都没用,别频繁点登录按钮——Ins的反作弊系统会把多次失败的尝试标记为恶意行为,建议暂停24-48小时再试。

二、手动登录恢复后,优化Selenium配置避免再次触发限制

等手动能正常登录后,再调整Selenium的设置,避免被Ins的反爬系统检测到:

  • 用undetected-chromedriver替代原生ChromeDriver:这个库专门处理了Selenium的自动化标识,能绕过大部分反爬检测,安装命令:pip install undetected-chromedriver
  • 添加浏览器参数隐藏自动化痕迹:如果用原生Selenium,至少要加这些参数:
    from selenium import webdriver
    options = webdriver.ChromeOptions()
    options.add_argument("--disable-blink-features=AutomationControlled")
    options.add_argument("--start-maximized")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(options=options)
    
  • 模拟真实用户行为:不要一启动就快速点击登录,加随机延迟(比如用time.sleep(random.uniform(1,3))),模拟用户输入账号密码的速度,甚至可以先浏览几个首页再登录。
  • 使用持久化浏览器配置文件:不要每次启动Selenium都用全新的临时Profile,指定一个真实的浏览器Profile路径,让驱动使用你平时手动登录的配置,这样Ins会识别为熟悉的设备。

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

火山引擎 最新活动