我如何删除谷歌Chrome饼干
我试图删除Chrome浏览器的cookies。首先我声明了路径我如何删除谷歌Chrome饼干
string chromeLocation1 = "C:\\Users\\" + Environment.UserName.ToString() + "\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Local Storage";
当我尝试运行我的删除代码“该文件是由另一程序或用户使用”出现错误。于是,我就杀了chrome.exe
的proccess
foreach (var process in Process.GetProcessesByName("chrome.exe"))
{
process.Kill();
}
但现在它给我‘拒绝访问’错误,即使我运行它为管理员。我应该怎么做才能删除这些cookies?
您可以删除所有Cookie与selenium framework。
1)安装硒框架 - Selenium WebDriver
和Selenium WebDriver Support Classes
(要做到这一点最简单的方法是使用的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");
进行搜索,但它说:“ChromeDriver”命名空间没有发现 – JayGatsby 2015-02-06 11:47:58
@JayGatsby尝试使用此命名空间:'使用OpenQA.Selenium。镀铬;' – kmatyaszek 2015-02-06 11:48:49
代码工作没有错误,但是当我执行它会出现一个DOS屏幕带有这个文本和Cookie不会删除“启动ChromeDriver 2.13.307647(5a7d0541ebc58e69994a6fb2ed930f45261f3c29)上 端口22774 只有本地连接被允许 。” – JayGatsby 2015-02-06 11:56:25
如果您要删除浏览器中的所有数据,请使用C#lang你可以使用不同的代码删除每个浏览器历史记录,cookies等(所有数据)。
在这里,我写了一些代码,删除Internet Explorer的所有数据
1--删除点击一个按钮所有的数据/ Internet Explorer中的历史(窗口窗体应用程序或WPF应用程序)
private void button1_Click(object sender, EventArgs e)
{
//For internet explorer
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255");
}
2 ---现在的浏览器谷歌Chrome浏览器(神秘,因为每个人都尝试使用SQLite删除它的所有历史,但它是错误的)。不使用的SQLite数据库,因为谷歌浏览器在以下位置保持所有数据(历史记录,cookies,和等)
C:\ Users \用户名(你的计算机名)\应用程序数据\本地\谷歌\镀铬\用户数据
只需删除所有'用户数据'文件夹或其中的所有文件夹和文件。那么你会看到你的所有历史和饼干清楚。
以下是它的代码。
private void button1_Click(object sender, EventArgs e)
{
//For internet explorer
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255");
// for Google Chrome.
string rootDrive = Path.GetPathRoot(Environment.SystemDirectory); // for getting primary drive
string userName = Environment.UserName; // for getting user name
// first close all the extension of chrome (close all the chrome browser which are opened)
try
{
Process[] Path1 = Process.GetProcessesByName("chrome");
foreach (Process p in Path1)
{
try
{
p.Kill();
}
catch { }
p.WaitForExit();
p.Dispose();
}
System.IO.DirectoryInfo downloadedMessageInfo = new DirectoryInfo(rootDrive + "Users\\"+userName+"\\AppData\\Local\\Google\\Chrome\\User Data");
try
{
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
file.Delete();
}
}
catch { }
try
{
foreach (DirectoryInfo dir in downloadedMessageInfo.GetDirectories())
{
dir.Delete(true);
}
}
catch { }
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
label1.Text = " History Deleted successfully.";
}
它是否在Process.GetProcessByName(“chrome.exe”)中查找进程?我还以为你有没有我安装了它的扩展名(即'Process.GetProcessByName(“铬”)') – colmde 2015-02-06 11:21:33