C# Selenium如何使用chromedriver和C清除缓存#
我发现了一些Java示例,这些示例解释了清除缓存是如此简单: 示例代码:C# Selenium如何使用chromedriver和C清除缓存#,c#,selenium-chromedriver,C#,Selenium Chromedriver,我发现了一些Java示例,这些示例解释了清除缓存是如此简单: 示例代码: System.setProperty("webdriver.chrome.driver","drivers/chromedriver.exe"); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability(CapabilityType.ForSeleniumServ
System.setProperty("webdriver.chrome.driver","drivers/chromedriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
ChromeOptions opts = new ChromeOptions();
opts.addArguments("start-maximized");
capabilities.setCapability(ChromeOptions.CAPABILITY, opts);
WebDriver driver = new ChromeDriver(capabilities);
driver.manage().deleteAllCookies();
driver.get("http://www.google.com");
System.out.println(driver.getTitle());
driver.quit();
我在C#4.6和Selenium WebDriver 2.45中也尝试过这样做,但DesiredCapabilities不包含用于确保#CLEAN#会话的枚举或字符串。我不明白为什么C版本没有与java版本相同的选项。我的直觉是有一个技巧,比如直接使用一个字符串来表示与枚举在java中可用的功能相同的功能,我只是不确定它是什么
这是我的密码:
//SetCapability(..)方法调用没有意义
var chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
DesiredCapabilities capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability(ChromeOptions.Capability, true); // ? can't set ENSURING_CLEAN_SESSION, intellisense shows it does not exist
var options = new ChromeOptions();
options.AddArguments("test-type");
return new ChromeDriver(chromeDriverService, options);
您可以简单地强制chrome以匿名模式启动
capabilities.SetCapability("chrome.switcher", new [] {"--incognito"});
这种用法已被弃用。我做了同样的事情:var options=new ChromeOptions();选项。添加参数(“匿名”);我希望不要使用匿名模式。@sapbucket是的,对不起。我有一段时间没用webdriver了。实际上,如果我没记错的话,ChromeDriver会为每个会话创建一个新的临时配置文件。如果是,我看不出有任何理由清除缓存。@sapbucket我使用的是一个保存的配置文件(不是临时的),因为我使用的开发人员设置太多了。如果我没有这个要求,我会使用隐姓埋名或只是启动它,在心跳