在 Selenium 上保持持久的浏览器历史记录

Keeping a persistent browser history on Selenium

我是 运行 在 MSVC 2019 上使用 C# 的 Selenium 4.0.0-beta1。

我使用的是 MicrosoftDriver 版本 17.17134.0。

每当我使用 Selenium 执行自动浏览时,浏览历史记录不会在会话结束后保存。我想保持持久的浏览历史状态。

我得到了一些答案, Save and load browser history for selenium.

但我不确定如何在 Microsoft Edge 的 C# 中为 Firefox 复制 Java 解决方案。

特别是,我找不到等效的配置文件对象来导入或创建浏览器历史记录的配置文件。

var edgedriverservice = EdgeDriverService.CreateDefaultService();
var edgeoptions = new EdgeOptions();
var driver = new EdgeDriver(edgedriverservice, edgeoptions);

我已经按照以下方式设置了我的新驱动程序对象,我不确定配置文件对象如何适应以前的 link。

是的,您使用的是 Edge Chromium,那么您使用的 WebDriver 不正确。您需要使用与 this page 中的 Edge Chromium 版本相同的 WebDriver 版本。您需要点击完整版目录下载Edge WebDriver 86.0.622.56版

为 Edge Chromium 使用特定配置文件的示例代码如下所示:

EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions.UseChromium = true;
// Here you set the path of the profile ending with User Data not the profile folder
edgeOptions.AddArgument(@"user-data-dir=C:\Users\yuzhou\AppData\Local\Microsoft\Edge\User Data");
// Here you specify the actual profile folder
edgeOptions.AddArgument("profile-directory=Profile 4");
IWebDriver driver = new EdgeDriver(edgeOptions);
driver.Navigate().GoToUrl("https://www.google.com");

注意:将代码中的路径更改为您自己的。