FirefoxWebdriver 没有数据可用于编码 437 [英] FirefoxWebdriver No data is available for encoding 437
问题描述
我想创建一个 FirefoxWebdriver 但收到以下错误
I want to create a FirefoxWebdriver but get the following error
Message:
Initialization method Sma.Ldx.Systemtest.Ui.Tests.IbaTest.TestInitialize
threw exception. System.TypeInitializationException: The type initializer for
'System.IO.Compression.ZipStorer' threw an exception. --->
System.NotSupportedException: No data is available for encoding 437. For
information on defining a custom encoding, see the documentation for the
Encoding.RegisterProvider method..
它是一个 netstandard2.0 库并且在 dotnet core 2.2 上运行有人可以帮忙吗?
it is a netstandard2.0 lib and runs on dotnet core 2.2 Can anybody help?
我尝试导入 System.Text.Encoding.CodePages 并尝试使用 System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance) 但这在 dotnetcore2.2 中不受支持
I tried to import System.Text.Encoding.CodePages and try to use System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance) but this is not supported in dotnetcore2.2
private static IWebDriver InitializeFirefoxDriver(bool headless, bool remote, Uri seleniumHubUri, PlatformType platform, string locale, string webDriverPath)
{
var options = new FirefoxOptions()
{
Profile = new FirefoxProfile()
{
AcceptUntrustedCertificates = true,
AssumeUntrustedCertificateIssuer = true
},
};
options.AddArgument($"--lang={locale}");
if (headless || remote)
{
options.AddArgument("-headless");
}
options.PlatformName = platform.ToString();
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(webDriverPath, "geckodriver.exe");
service.Start();
return remote ? new RemoteWebDriver(seleniumHubUri, options) : new FirefoxDriver(service, options);
}
我用 Firefox 浏览器启动但出现编码错误.
I except the Firefox Browser to start but get an encoding error.
推荐答案
添加 NuGet 包 System.Text.Encoding.CodePages
Add NuGet Package System.Text.Encoding.CodePages
在创建 FirefoxDriver
对象之前,请执行以下操作:
Before Creating the FirefoxDriver
object, do this:
CodePagesEncodingProvider.Instance.GetEncoding(437);
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
这篇关于FirefoxWebdriver 没有数据可用于编码 437的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!