提问人:John 提问时间:10/9/2023 最后编辑:John 更新时间:10/10/2023 访问量:58
为什么新的 chrome 网络驱动程序可疑地转储我的 cookie?
Why is the new chrome webdriver suspiciously dumping my cookies?
问:
我将我的 nuget 包“Selenium.WebDriver.ChromeDriver by jsakamoto”更新到版本 117.0.5938.9200
现在,当我创建驱动程序来控制chrome时。
它将浏览器的 cookie 转储到名为“C”和“C-journal”的 sqlite 文件中:
所创建文件的路径为:
D:\my-programs\C
D:\my-programs\C-journal
我的程序驻留在:
D:\my-programs\C#\my-thing\my-thing\bin\Debug\my-thing.exe
我的 chrome 个人资料位于:
D:\my-programs\C#\my-thing\my-thing\bin\Debug\my-chrome-profile
我设置了一个断点,并确认在执行此行时创建了文件:
tempDriver = new ChromeDriver(service, chromeOptions);
以下是加载到 sqlite 查看器中的“C”文件的屏幕截图:
在以前版本的“Selenium.WebDriver.ChromeDriver”中,我的cookie从未自动转储到文件中。
这是恶意的吗?
最近,chromium.org 不再提供 chrome 驱动程序可执行文件,而是提供了新的 json 端点进行更新。不知道这是否与此问题有关。
编辑:我将C#重命名为Cz#,现在创建的文件称为Cz和Cz-journal,因此这可能是它选择文件名的方式。
编辑2:参数
private IWebDriver CreateDriver()
{
ChromeOptions chromeOptions;
IWebDriver tempDriver = null;
string uniqueId = "my-program-" + Environment.TickCount;
string myExtensionPath = Environment.CurrentDirectory + "\\my-stuff\\my-extension";
string extensionId = settings.GetValue("extension id");
try
{
chromeOptions = new ChromeOptions();
if (cbHideBrowser.Checked == true)
{
chromeOptions.AddArgument("--window-position=-10000,0");
chromeOptions.AddArgument("--window-size=1920,1080");
}
else
{
chromeOptions.AddArgument("--window-position=-1920,0");
chromeOptions.AddArgument("--window-size=1920,1080");
}
chromeOptions.AddArgument(uniqueId);
chromeOptions.AddArgument("--disable-infobars");
chromeOptions.AddArgument("--user-data-dir=" + Path.GetFullPath("my-chrome-profile"));
chromeOptions.AddArgument("--my-program");
chromeOptions.AddArgument("--process-per-site");
chromeOptions.AddArgument(@"--load-extension=" + myExtensionPath + "," + Environment.CurrentDirectory + "\\uBlock-Origin-development-build_v1.24.5.4");
chromeOptions.AddArgument(@"--allowlisted-extension-id=" + extensionId);
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
chromeOptions.AddUserProfilePreference("download.directory_upgrade", true);
chromeOptions.AddUserProfilePreference("download.default_directory", Environment.CurrentDirectory + "\\myfiles");
chromeOptions.BinaryLocation = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";
ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = cbHideBrowser.Checked;
tempDriver = new ChromeDriver(service, chromeOptions);
if (cbHideBrowser.Checked == true)
{
processId = GetProcessIdByCommandLineArg(uniqueId);
Process p = Process.GetProcessById(processId);
ShowWindow(p.MainWindowHandle, 0);
}
}
catch (Exception x)
{
}
return tempDriver;
}
答: 暂无答案
评论