gpt4 book ai didi

c# - Selenium Firefox 驱动程序 - 由于 "DirectoryNotFoundException"无法加载 FirefoxProfile

转载 作者:行者123 更新时间:2023-11-30 12:20:20 25 4
gpt4 key购买 nike

我有最新版本的 Firefox(62.0 32 位)、Selenium(3.14.0.0) 和 gecko 驱动程序(0.22.0 32 位)。我有如下代码:

var firefoxProfile = new FirefoxProfile("XXX");
FirefoxDriverService service =
FirefoxDriverService.CreateDefaultService("XXX", "geckodriver.exe");
service.FirefoxBinaryPath = "XXX";
driver = new FirefoxDriver(service, new FirefoxOptions {
BrowserExecutableLocation = "XXX",
Profile = firefoxProfile,
UseLegacyImplementation = false },
new TimeSpan(0, 1, 30));

但是最后一行由于以下错误而失败:

System.IO.DirectoryNotFoundException: 'Could not find a part of the path 'C:\Users\XXX\AppData\Local\Temp\anonymous.5bbc89e65ae54c058b27b9027039414b.webdriver-profile.parentlock'.'

当您查看目录时,“anonymous.5bbc89e65ae54c058b27b9027039414b.webdriver-profile”文件夹不存在。

我可以通过调用以下代码生成一个文件夹:

firefoxProfile.WriteToDisk();

但是,我仍然会遇到同样的错误,只是在运行代码的最后一行后出现了不同的“匿名”文件夹。

我可以通过启用“UseLegacyImplementation”来解决这个问题,但这会引入其他问题并且不是最佳选择。

环顾四周,我没有看到任何地方引用此消息,在 Github 上引用了一些内容,但它指的是配置文件被忽略,而不是错误。

我在旧版本的库和 firefox 上有类似的代码,出于某种原因,当我尝试在不同的机器上实现所有最新版本时,我遇到了这个问题。有人对此有任何意见吗?

最佳答案

我设法重现了你的问题,但做了以下并摆脱了它。

  1. 我从 Firefox about:profiles 创建了一个新配置文件 -> New profile Name = TestUser

    <
  2. 复制此配置文件的位置(根目录)并在创建 FirefoxProfile 实例时使用它

    var firefoxProfile = new FirefoxProfile(@"C:\Users\[user]\AppData\Roaming\Mozilla\Firefox\Profiles\67fkrqcg.TestUser");
    FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(@"C:\geckodriver-v0.22.0-win32", "geckodriver.exe");
    service.FirefoxBinaryPath = @"C:\Program Files\Mozilla Firefox\firefox.exe";
    var driver = new FirefoxDriver(service, new FirefoxOptions
    {
    BrowserExecutableLocation = @"C:\Program Files\Mozilla Firefox\firefox.exe",
    Profile = firefoxProfile,
    UseLegacyImplementation = false
    },
    new TimeSpan(0, 1, 30));

根据 documentation 方法 DeleteLockFiles 调用引发错误删除配置文件的锁定文件。

我怀疑您忘记创建配置文件和/或没有指定正确的路径。

关于c# - Selenium Firefox 驱动程序 - 由于 "DirectoryNotFoundException"无法加载 FirefoxProfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447646/

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