如何删除Google Chrome Cookie

Jay*_*sby 2 c# cookies google-chrome

我正在尝试删除Chrome浏览器的cookie.首先我宣布了这条道路

string chromeLocation1 = "C:\\Users\\" + Environment.UserName.ToString() + "\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Local Storage";
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的删除代码"该文件正被另一个程序或用户使用"时出现错误.所以我试图杀死chrome.exe进程

foreach (var process in Process.GetProcessesByName("chrome.exe"))
{
    process.Kill();
}
Run Code Online (Sandbox Code Playgroud)

但现在它给我"访问被拒绝"错误,即使我以管理员身份运行它.我该怎么做才能删除这些cookie?

kma*_*zek 6

您可以使用selenium框架删除所有cookie .

1)安装硒框架- Selenium WebDriverSelenium WebDriver Support Classes(要做到这一点最简单的方法是使用的NuGet)

的NuGet

2)使用以下代码删除所有cookie:

var chromeUserData = "C:\\Users\\" + Environment.UserName.ToString(CultureInfo.InvariantCulture) + "\\AppData\\Local\\Google\\Chrome\\User Data";
var chromeAdvancedSettings = "chrome://settings/clearBrowserData";
var options = new ChromeOptions();
options.AddArgument("--lang=en");
options.AddArgument("--user-data-dir=" + chromeUserData);
options.LeaveBrowserRunning = false;
var driver = new ChromeDriver(options);
driver.Navigate().GoToUrl(chromeAdvancedSettings);

var frame = driver.FindElement(By.XPath("//iframe[@src='chrome://settings-frame/clearBrowserData']"));
var frameDriver = driver.SwitchTo().Frame(frame);
var dropDown = new SelectElement(frameDriver.FindElement(By.Id("clear-browser-data-time-period")));
dropDown.SelectByIndex(4);
var elm = driver.FindElement(By.Id("delete-cookies-checkbox"));
if (!elm.Selected) elm.Click();
elm = driver.FindElement(By.XPath("//button[@id='clear-browser-data-commit']"));
elm.Click();
var waiter = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
waiter.Until(wd => wd.Url.StartsWith("chrome://settings"));
driver.Navigate().GoToUrl("chrome://newtab");
Run Code Online (Sandbox Code Playgroud)

[Selenium文档]