我在用Selenium做Edge自动化测试的时候发现,Selenium的Driver.Manage().Cookies.DeleteAllCookies()在Edge上没有其作用,导致第二次打开Edge保存了上次的登录信息,所以需要另外写代码清空Cookie
Google了一下发下Edge的Cookie信息存储在%LOCALAPPDATA%\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\,这个Folder下面以#!开头的子文件夹就是Cookie,那么删除它们就可以了。
下面是简单的实例代码:
var cookiePath = @"Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\";
var appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
cookiePath = Path.Combine(appDataFolder, cookiePath);
var dirs = Directory.GetDirectories(cookiePath, "#!*");
foreach (var folder in dirs)
{
Directory.Delete(folder, true);
}