Safari 特定功能

这些是特定于Apple Safari浏览器的功能和特性.

与Chromium和Firefox驱动不同, safari驱动随操作系统安装. 要在 Safari 上启用自动化, 请从终端运行以下命令:

safaridriver --enable 

选项

所有浏览器通用的Capabilities在选项页.

Safari独有的Capabilities可以在Apple的页面关于Safari的WebDriver 上找到

使用基本定义的选项启动 Safari 会话如下所示:

 SafariOptions options = new SafariOptions();  driver = new SafariDriver(options);
 options = webdriver.SafariOptions()  driver = webdriver.Safari(options=options)
 var options = new SafariOptions();  driver = new SafariDriver(options);
 it 'basic options' do  options = Selenium::WebDriver::Options.safari
 let driver = new Builder()  .forBrowser(Browser.SAFARI)  .setSafariOptions(options)  .build();
val options = SafariOptions() val driver = SafariDriver(options)

移动端

那些希望在iOS上自动化Safari的人可以参考 Appium 项目.

服务

所有浏览器通用的服务设置在 服务页面.

日志

与其他浏览器不同, Safari 浏览器不允许您选择日志的输出位置或更改级别. 一个可用选项是关闭或打开日志. 如果日志处于打开状态, 则可以在以下位置找到它们: ~/Library/Logs/com.apple.WebDriver/.

Selenium v4.10

 .withLogging(true)

注意: Java也允许使用环境变量进行设置;
属性键: SafariDriverService.SAFARI_DRIVER_LOGGING
属性值: "true""false"

Selenium v4.26

 service = webdriver.SafariService(enable_logging=True)

Selenium v4.8

Safari Technology Preview

Apple 提供了其浏览器的开发版本 — Safari Technology Preview

在代码中使用此版本:

 options.setUseTechnologyPreview(true);  driver = new SafariDriver(options);
 options = webdriver.SafariOptions()  options.use_technology_preview = True  service = webdriver.SafariService(  executable_path='/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'  )  driver = webdriver.Safari(options=options, service=service)
 'have no support for Safari Technology Preview' do  it 'sets the technology preview' do