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);
options = Selenium::WebDriver::Options.safari
@driver = Selenium::WebDriver.for :safari, options: options
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/
.
.withLogging(true)
注意: Java也允许使用环境变量进行设置;
属性键: SafariDriverService.SAFARI_DRIVER_LOGGING
属性值: "true"
或 "false"
service = webdriver.SafariService(service_args=["--diagnose"])
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)
Selenium::WebDriver::Safari.technology_preview!
local_driver = Selenium::WebDriver.for :safari