You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Selenium/Chrome Driver打开网站时无法保留已登录状态?

问题原因及解决方案说明

为什么Selenium启动的Chrome没有继承日常使用的登录状态

默认情况下ChromeDriver启动浏览器时会创建一个全新的空白用户配置文件,和你日常手动打开Chrome使用的用户配置完全隔离,不会读取其中保存的Cookie、登录凭证、记住的密码等数据,所以访问之前已经登录过的网站时,就会显示为未登录的全新用户状态。

如果需要继承原有登录状态,可以在启动Chrome时指定本地用户配置路径,示例配置代码如下:

from selenium import webdriver

options = webdriver.ChromeOptions()
# 替换为你本地Chrome用户配置的实际路径
options.add_argument(r'--user-data-dir=C:\Users\你的系统用户名\AppData\Local\Google\Chrome\User Data')
# 可选:指定具体的配置文件夹,默认是Default
options.add_argument('--profile-directory=Default')
driver = webdriver.Chrome(options=options)

注意:执行代码前需要完全关闭所有正在运行的Chrome进程,否则配置会被占用导致启动失败。

为什么部分网站会检测到Selenium并阻止登录

网站反爬系统识别Selenium的常见原因如下:

  • 原生ChromeDriver自带明确的爬虫特征标识,比如浏览器全局属性window.navigator.webdriver会被默认设为true,而普通用户使用的Chrome该值为undefined,仅通过检测该属性就可以直接判定自动化工具身份
  • Selenium的默认操作行为和真人差异极大,比如点击间隔固定且过短、页面滑动路径过于规整、没有随机停顿和误触等人类操作特征,很容易被行为风控系统识别
  • 浏览器指纹和普通用户偏差过大,比如缺少常用的插件列表、Canvas/WebGL指纹异常、User-Agent和浏览器版本不匹配等,都会触发风控拦截

常见的规避方案可以选择使用undetected-chromedriver替代原生ChromeDriver,同时在操作时添加随机等待时间、模拟真人的点击和滑动轨迹,调整浏览器指纹参数降低特征偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:24:06