我们如何指导 Selenium 在 C# 中使用 Safari 技术预览?
在Java中,我们可以使用方法来设置setUseTechnologyPreview
,但是在C#类中找不到类似的方法SafariOptions
。
我们已经尝试过使用options.AddAdditionalCapability('useTechnologyPreview', true)
,但它不起作用。
我们如何指导 Selenium 在 C# 中使用 Safari 技术预览?
在Java中,我们可以使用方法来设置setUseTechnologyPreview
,但是在C#类中找不到类似的方法SafariOptions
。
我们已经尝试过使用options.AddAdditionalCapability('useTechnologyPreview', true)
,但它不起作用。
我遇到了同样的问题,并且没有很多可用的文档。不过,这是可能的。webdriver 可执行文件位于应用程序中以供预览。设置一个 webdriver 服务来使用它。(我还有一些额外的选项......)
SafariDriverService serv = SafariDriverService.CreateDefaultService("/Applications/Safari Technology Preview.app/Contents/MacOS/", "safaridriver");
SafariOptions opts = new SafariOptions();
opts.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true);
opts.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, true);
opts.AddAdditionalCapability("cleanSession", true);
webDriver = new SafariDriver(serv, opts);
对于远程 Selenium,我们使用以下方法:
Dictionary<string, object> remoteSafariOptions = new Dictionary<string, object>();
remoteSafariOptions["technologyPreview"] = true;
safariOptions = new SafariOptions();
safariOptions.AddAdditionalCapability("safari.options", remoteSafariOptions);
browser = new RemoteWebDriver(new Uri(seleniumRemoteGridUrl),
safariOptions.ToCapabilities());
您可能需要在当前版本的 SafariDriver 中设置浏览器名称:
var safariService = SafariDriverService.CreateDefaultService("/Applications/Safari Technology Preview.app/Contents/MacOS/", "safaridriver");
var safariOptions = new SafariOptions();
safariOptions.AddAdditionalCapability(CapabilityType.BrowserName, "Safari Technology Preview");
driver = new SafariDriver(safariService, safariOptions);