2

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

在Java中,我们可以使用方法来设置setUseTechnologyPreview,但是在C#类中找不到类似的方法SafariOptions

我们已经尝试过使用options.AddAdditionalCapability('useTechnologyPreview', true),但它不起作用。

4

3 回答 3

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);
于 2017-06-16T17:40:47.223 回答
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());
于 2017-09-14T11:32:19.637 回答
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);
于 2020-08-27T18:30:53.907 回答