如何在Java/Selenium中为最新版Chrome/FF禁用第三方Cookie
针对最新版本Chrome(及对应ChromeDriver),以下两种可靠方案可实现强制阻止第三方Cookie:
方案1:使用正确的偏好设置键
新版本Chrome中,profile.block_third_party_cookies已被废弃,需改用适配当前版本的配置键。代码示例:
public static void main(String[] args) { Map<String, Object> prefs = new HashMap<>(); // 1代表阻止Cookie,0为允许,2为仅允许当前会话 prefs.put("profile.default_content_setting_values.cookies", 1); prefs.put("profile.default_content_setting_values.third_party_cookies", 1); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("prefs", prefs); WebDriver driver = new ChromeDriver(options); driver.get("https://shop.mercedes-benz.com/en-au/shop/vehicle/srp/demo?sort=relevance-demo&assortment=vehicle"); }
方案2:通过Chrome DevTools协议强制配置
若偏好设置仍不生效,可利用Chrome DevTools协议(CDP)直接在浏览器启动后设置规则,这是适配所有最新版本的可靠方式:
public static void main(String[] args) { ChromeOptions options = new ChromeOptions(); WebDriver driver = new ChromeDriver(options); ChromeDriver chromeDriver = (ChromeDriver) driver; // 调用CDP命令阻止第三方Cookie chromeDriver.executeCdpCommand("Network.setCookieBlocked", Map.of("blocked", true, "thirdParty", true)); driver.get("https://shop.mercedes-benz.com/en-au/shop/vehicle/srp/demo?sort=relevance-demo&assortment=vehicle"); }
验证设置生效
可通过以下方式确认配置成功:
- 打开Chrome设置→隐私和安全→Cookie及其他网站数据,查看「阻止第三方Cookie」是否已勾选
- 在目标页面按下F12打开开发者工具,进入「应用」→「Cookie」,检查第三方域名下是否无Cookie存储
内容的提问来源于stack exchange,提问作者victoria sarycheva
相关产品推荐
相关产品推荐

