在Chromedriver中使用Webdriver禁用Cookie

时间:2015-09-03 17:26:35

标签: python selenium cookies selenium-webdriver

我正在尝试在启动Chrome或Firefox浏览器时禁用所有Cookie。我在这里看过这些例子,但它们都是用Java编写的,有些Selenium代码与Python不同。

ChromeOptions options = new ChromeOptions();  
Map prefs = new HashMap();  
prefs.put("profile.default_content_settings.cookies", 2);  
options.setExperimentalOptions("prefs", prefs); 
driver = new ChromeDriver(options);  

我想用Python完成上述操作。

4 个答案:

答案 0 :(得分:5)

对于版本45之后的Chrome,你需要这样做(@alecxe直到Chrome 45我认为):

selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("prefs", {"profile.default_content_setting_values.cookies": 2})

driver = webdriver.Chrome(chrome_options=chrome_options)

default_content_settings唯一有意义的变化变为default_content_setting_values

答案 1 :(得分:4)

对于Firefox:

import nconf from "nconf";
import path from "path";
import config from `./manifest.${process.env['NODE_ENV'] || 'development'}`;

nconf.argv()
    .env()
    .defaults(config);

// ...

来源:FAQJS selenium cookie questionthe description of Network.cookie.cookieBehavior

答案 2 :(得分:3)

这将是:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("prefs", {"profile.default_content_settings.cookies": 2})

driver = webdriver.Chrome(chrome_options=chrome_options)

测试 - 为我工作(Chrome 45,selenium 2.47)。

答案 3 :(得分:0)

您只需更改{"profile.default_content_setting_values.cookies": 2}变为{"profile.block_third_party_cookies": True}

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("prefs", {"profile.block_third_party_cookies": True})

driver = webdriver.Chrome(chrome_options=chrome_options)