如何解决在 Selenium 上保持持久的浏览器历史记录
我正在使用 C# 在 MSVC 2019 上运行 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);
我已按以下方式设置了我的新驱动程序对象,但我不确定上一个链接中的配置文件对象如何适应。
解决方法
是的,您使用的是 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");
注意:将代码中的路径更改为您自己的路径。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。