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

Selenium启动新会话后浏览器未保留Cookie问题求助

问题根源

Selenium默认启动Chrome时会创建临时独立用户配置文件,所有会话数据(包括Cookie)都存在这个临时目录里,浏览器关闭后临时目录会被自动清理,所以重启Selenium会话后找不到之前的Cookie。而你手动打开Chrome用的是默认用户数据目录,自然能看到手动操作留下的Cookie。

解决方法

给ChromeOptions指定你的Chrome用户数据目录,让Selenium复用默认用户配置,Cookie就会被持久化到默认目录,重启会话后依然能读取到。

修改后的代码示例:

ChromeOptions chromeOptions = new ChromeOptions();
// 替换为你的Chrome用户数据实际路径
// Windows示例:C:\\Users\\你的用户名\\AppData\\Local\\Google\\Chrome\\User Data
// macOS示例:/Users/你的用户名/Library/Application Support/Google/Chrome
// Linux示例:/home/你的用户名/.config/google-chrome
chromeOptions.addArguments("user-data-dir=你的Chrome用户数据目录路径");

// 保留原有配置
chromeOptions.addArguments("ignore-certificate-errors");
Object proxy = getCorrectProxy();
chromeOptions.setCapability(CapabilityType.PROXY, proxy);
chromeOptions.setCapability("acceptInsecureCerts", true);     
chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
chromeOptions.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true);

System.setProperty("webdriver.chrome.driver", GlobalSettings.CHROME_DRIVER_PATH);
driver = new ChromeDriver(chromeOptions);
注意点
  • 路径必须准确,不同操作系统的用户数据目录位置不一样,替换成你自己的路径。
  • 运行代码前要关闭所有Chrome窗口,否则会因为用户目录被占用导致启动失败。
  • 不想影响日常Chrome配置的话,也可以新建一个独立的用户目录专门给Selenium用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:02:20