我需要使用一个共享的Firefox配置文件,并且在退出后不会被删除。似乎可以使用
调试时,我注意到配置文件的
FirefoxProfile
或FirefoxOptions
来实现这一点。但是它们似乎都不起作用:当启动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
属性总是为空。var profileManager = new FirefoxProfileManager();
var profile = profileManager.GetProfile("Test");
var driver = new FirefoxDriver(profile);
在此之前,手动使用firefox -p
创建了名为Test的配置文件。我还尝试像这样使用它的位置:
var profile = new FirefoxProfile(@"C:\Users\<MyUsername>\TestProfile", deleteSourceOnClean: false);
但是还有同样的问题,无法找出为什么这不起作用。
所使用的软件
- geckodriver 0.19.0
- Selenium.Firefox.WebDriver 2.0.0 (NuGet)
- Selenium.WebDriver 3.6.0 (NuGet)
- ASP.NET Core 2.0