gpt4 book ai didi

c# - 如何删除谷歌浏览器 cookie

转载 作者:行者123 更新时间:2023-11-30 20:23:42 28 4
gpt4 key购买 nike

我正在尝试删除 chrome 浏览器的 cookie。首先我声明了路径

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

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

foreach (var process in Process.GetProcessesByName("chrome.exe"))
{
process.Kill();
}

但现在即使我以管理员身份运行它,它也会给我“拒绝访问”错误。我应该怎么做才能删除这些 cookie?

最佳答案

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

1) 安装 selenium 框架 - Selenium WebDriverSelenium WebDriver Support Classes(最简单的方法是使用 NuGet)

NuGet

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

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");

[Selenium documentation]

关于c# - 如何删除谷歌浏览器 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364152/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com