我正在尝试在测试开始时禁用Cookie。我尝试使用选项,但不起作用。现在我正在使用
WebDriver driver = getDriver();
driver.get("chrome://settings/content/cookies");
WebElement element = driver.findElement(By.id("labelWrapper"));
但仍然无法选择任何选项。我收到一个错误消息,指出该元素不存在,但是当我使用开发人员工具时,我可以看到它在那里。
我正在使用
您可以按以下方式禁用Chrome Cookie:
ChromeOptions options = new ChromeOptions();
Map prefs = new HashMap();
prefs.put("profile.default_content_settings.cookies", 2);
options.setExperimentalOptions("prefs", prefs);
driver = new ChromeDriver(options);
第二种方法:
DesiredCapabilities capabilities = DesiredCapabilities.chrome()
capabilities.setCapability("chrome.switches", Arrays.asList("--disable-local-storage"))
driver = new ChromeDriver(capabilities);
要在最近的Chrome浏览器上禁用cookie,您需要setPreference()
属性network.cookie.cookieBehavior
如下:
Chrome:
prefs.put("network.cookie.cookieBehavior", 2);
Firefox:
profile.setPreference("network.cookie.cookieBehavior", 2);
要使用Selenium在Chrome浏览上下文中禁用cookie,您可以使用Map
对象将cookies的default_content_setting_values
配置为2
,如下:
put("profile.default_content_setting_values.cookies", 2);
有效地,您的代码块将是:
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
Map<String, Object> prefs = new HashMap<String, Object>();
// Pass the argument 1 to allow and 2 to block
prefs.put("profile.default_content_setting_values.cookies", 2);
prefs.put("network.cookie.cookieBehavior", 2);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.com/");