我们如何指示Selenium在C#中使用Safari技术预览?
在Java中,我们可以使用setUseTechnologyPreview
方法设置它,但无法在C#class SafariOptions
中找到类似的方法。
我们尝试使用options.AddAdditionalCapability('useTechnologyPreview', true)
,但它没有用。
答案 0 :(得分:2)
我遇到了同样的问题而且没有很多可用的文档。但是有可能。 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);
答案 1 :(得分:0)
对于远程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());
答案 2 :(得分:0)
您可能需要在当前版本的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);