0

我正在尝试通过 PowerShell 使用 WebDriver DLL。我每次都收到以下异常:

format-default : The following exception occurred while retrieving members: "Could not load file or 
assembly 'WebDriver, Version=2.48.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The system cannot find the file specified."
    + CategoryInfo          : NotSpecified: (:) [format-default], ExtendedTypeSystemException
    + FullyQualifiedErrorId : CatchFromBaseGetMembers,Microsoft.PowerShell.Commands.FormatDefaultCommand

这是我的代码:

[Reflection.Assembly]::LoadFile("X:\WebDriver.dll")
[Reflection.Assembly]::LoadFile("X:\Winium.WebDriver.dll")
[Reflection.Assembly]::LoadFile("X:\Elements.Desktop.dll")
[Reflection.Assembly]::LoadFile("X:\Winium.Cruciatus.dll")


$options = [OpenQA.Selenium.Winium.DesktopOptions]::new()
$options

这是我的输出:

GAC    Version        Location                                                                            
---    -------        --------                                                                            
False  v4.0.30319     X:\WebDriver.dll                                                                    
False  v4.0.30319     X:\Winium.WebDriver.dll                                                             
False  v4.0.30319     X:\Winium.Elements.Desktop.dll                                                      
False  v4.0.30319     X:\Winium.Cruciatus.dll                                                             
format-default : The following exception occurred while retrieving members: "Could not load file or 
assembly 'WebDriver, Version=2.48.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The system cannot find the file specified."
    + CategoryInfo          : NotSpecified: (:) [format-default], ExtendedTypeSystemException
    + FullyQualifiedErrorId : CatchFromBaseGetMembers,Microsoft.PowerShell.Commands.FormatDefaultCommand

我不确定这里有什么问题。有人可以帮我吗?

4

1 回答 1

0

您没有提供操作系统版本、PowerShell 版本、您是以管理员身份还是普通用户身份执行此操作等的详细信息……

反正换这个...

[Reflection.Assembly]::LoadFile("X:\WebDriver.dll")

对此...

Add-Type -Path "C:\Temp\PSL\WebDriver.dll"

当然,在大多数情况下,他们的目标相同,但请尝试一下。

请参阅此博客:

PowerShell 中的 Add-Type 与 [reflection.assembly]

模块应位于 PSModuelPath 中,以允许 PowerShell 尽可能找到并自动加载它们。虽然可以肯定,您可以从任何 UNC 显式加载(正如您的帖子和我的回复中包含的片段所指出的那样),但为什么要强迫这种努力。

于 2020-04-19T08:16:52.110 回答