问题描述
参考此线程:Is there a way to activate IE mode in Edge Options?
这听起来像是重复,但我的问题不是在 Edge 中自动化 IE 模式是否可行,而是对于 Ruby 是否可行。到目前为止,我只看到了在C#、VB.NET等中可以在IE模式下运行Edge的代码,而在Ruby中却看不到。
这是我参考的代码:
static void Main(string[] args)
{
var dir = "{FULL_PATH_TO_IEDRIVERSERVER}";
var driver = "IEDriverServer.exe";
if (!Directory.Exists(dir) || !File.Exists(Path.Combine(dir,driver)))
{
Console.WriteLine("Failed to find {0} in {1} folder.",dir,driver);
return;
}
var ieService = InternetExplorerDriverService.CreateDefaultService(dir,driver);
var ieOptions = new InternetExplorerOptions{};
ieOptions.AddAdditionalCapability("ie.edgechromium",true);
ieOptions.AddAdditionalCapability("ie.edgepath",@"\\msedge.exe");
var webdriver = new InternetExplorerDriver(ieService,ieOptions,TimeSpan.FromSeconds(30));
webdriver.Url = "http://www.example.com";
}
如果 Ruby 支持这些功能,请告诉我或分享我可以去哪里寻找解决方案。
解决方法
我没有找到有关使用 Ruby 自动化 Edge IE 模式的相关信息。 AFAIK,它现在只适用于 C#、VB.NET 和 Python。
您可以尝试在 Ruby 中设置相同的 IE 功能,如果它不起作用,那么我认为 Ruby 也不支持这些功能。在这种情况下,您可以提出一个关于在 Selenium GitHub 上的 IE WebDriver 中添加这些功能的新问题,因为 IE WebDriver 是 maintained by Selenium。
,如果您使用的是 selenium 3,请将这 2 个新功能添加到所需的功能负载中
如果您使用的是 selenium 4,请将这 2 个新功能添加到功能数组的第一部分。
这些名称看起来像 W3C,因此理论上它们“应该”起作用。但我从来没有听说过有人想要自动化这个(即现实世界的用例是什么)