C#Selenium如何使用Safari技术预览版

时间:2017-06-09 04:07:30

标签: c# selenium selenium-webdriver safaridriver

我们如何指示Selenium在C#中使用Safari技术预览?

在Java中,我们可以使用setUseTechnologyPreview方法设置它,但无法在C#class SafariOptions中找到类似的方法。

我们尝试使用options.AddAdditionalCapability('useTechnologyPreview', true),但它没有用。

3 个答案:

答案 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);