2015-09-03 2 views
2

Я пытаюсь отключить все файлы cookie при запуске браузера Chrome или Firefox. Я видел примеры здесь, но все они на Java, а некоторые из кода Selenium отличаются от Python.Отключение файлов cookie в Webdriver для Chrome/Firefox

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.

ответ

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, селен 2,47).

+1

Блокирует ли это все куки? Я вижу, что он отметил «Блокировать сайты от установки каких-либо данных», но не «Блокировать файлы cookie сторонних производителей и данные сайта». – ohbrobig

+1

Спасибо. Так что это помогает (я имел большую часть этого права). Он фактически не блокирует ВСЕ данные. Firefox кажется более простым, в то время как у chrome есть много вариантов, когда дело доходит до блокировки файлов cookie и отслеживания. Я не могу найти ничего о блокировании сторонних файлов cookie в документе chromedriver (что довольно скудно). – ohbrobig

2

Для Chrome после версии 45, вам нужно будет сделать это (@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.

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) 
Смежные вопросы