gpt4 book ai didi

c# - 无法使用 C# 在 Selenium WebDriver 中使用现有的 Firefox 配置文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:02 25 4
gpt4 key购买 nike

我需要使用 Firefox 的共享配置文件,它不会在退出时被删除。似乎这可以使用 FirefoxProfileFirefoxOptions 来完成。但它们似乎都不起作用:启动 geckodriver 时,它使用这样的临时配置文件

1507646897935 mozrunner::runner INFO Running command: "C:\Program Files\Mozilla Firefox\firefox.exe" "-marionette" "-profile" "C:\Users\\AppData\Local\Temp\rust_mozprofile.uzI9KAmLQ1zP"

调试时,我注意到配置文件的属性 ProfileDirectory 始终为 null。

var profileManager = new FirefoxProfileManager();
var profile = profileManager.GetProfile("Test");
var driver = new FirefoxDriver(profile);

配置文件 Test 之前是使用 firefox -p 手动创建的。我也试过像这样使用它的位置:

var profile = new FirefoxProfile(@"C:\Users\<MyUsername>\TestProfile", deleteSourceOnClean: false);

但同样的问题,无法弄清楚为什么这不起作用。

用过的软件

  • 壁虎驱动程序 0.19.0
  • Selenium.Firefox.WebDriver 2.0.0 (NuGet)
  • Selenium.WebDriver 3.6.0 (NuGet)
  • ASP.NET 核心 2.0

最佳答案

通过将个人资料的路径作为常规 CLI 参数传递给 Chrome 解决了这个问题:

var options = new ChromeOptions();
options.AddArgument(@"--user-data-dir=C:\Users\<MyUsername>\TestProfile");
var driver = new ChromeDriver(options);

应该也适用于 Firefox。但我需要切换到 Chrome,直到 FF 驱动程序中的另一个错误得到修复。这根本不是完全干净的解决方案,但它可以作为一种解决方法,直到找到更好的解决方案。

关于c# - 无法使用 C# 在 Selenium WebDriver 中使用现有的 Firefox 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com