Safari specific functionality

These are capabilities and features specific to Apple Safari browsers.

Unlike Chromium and Firefox drivers, the safaridriver is installed with the Operating System. To enable automation on Safari, run the following command from the terminal:

safaridriver --enable


Capabilities common to all browsers are described on the Options page.

Capabilities unique to Safari can be found at Apple’s page About WebDriver for Safari

Starting a Safari session with basic defined options looks like this:

        SafariOptions options = new SafariOptions();
        driver = new SafariDriver(options);

@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
            var options = new SafariOptions();
            var driver = new SafariDriver(options);
    options = Selenium::WebDriver::Options.internet_explorer(attach_to_edge_chrome: true,
                                                             edge_executable_path: ENV['EDGE_PATH'])
let options = new safari.Options(); let driver = await new Builder() .forBrowser('safari') .setSafariOptions(options) .build();
val options = SafariOptions() val driver = SafariDriver(options)


Those looking to automate Safari on iOS should look to the Appium project.