Class SafariDriver

java.lang.Object
org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.safari.SafariDriver
All Implemented Interfaces:
org.openqa.selenium.federatedcredentialmanagement.HasFederatedCredentialManagement, org.openqa.selenium.HasCapabilities, org.openqa.selenium.HasDownloads, org.openqa.selenium.interactions.Interactive, org.openqa.selenium.JavascriptExecutor, org.openqa.selenium.PrintsPage, HasDebugger, HasPermissions, org.openqa.selenium.SearchContext, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.virtualauthenticator.HasVirtualAuthenticator, org.openqa.selenium.WebDriver

public class SafariDriver extends org.openqa.selenium.remote.RemoteWebDriver implements HasPermissions, HasDebugger
A WebDriver implementation that controls Safari using a browser extension (consequently, only Safari 5.1+ is supported).

This driver can be configured using the SafariOptions class.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.openqa.selenium.remote.RemoteWebDriver

    org.openqa.selenium.remote.RemoteWebDriver.RemoteTargetLocator, org.openqa.selenium.remote.RemoteWebDriver.RemoteWebDriverOptions, org.openqa.selenium.remote.RemoteWebDriver.When

    Nested classes/interfaces inherited from interface org.openqa.selenium.WebDriver

    org.openqa.selenium.WebDriver.Navigation, org.openqa.selenium.WebDriver.Options, org.openqa.selenium.WebDriver.TargetLocator, org.openqa.selenium.WebDriver.Timeouts, org.openqa.selenium.WebDriver.Window
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes a new SafariDriver} class with default SafariOptions.
    SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options)
    Initializes a new SafariDriver using the specified SafariOptions.
    SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options, org.openqa.selenium.remote.http.ClientConfig clientConfig)
     
    Initializes a new SafariDriver backed by the specified SafariDriverService.
    SafariDriver(SafariOptions safariOptions)
    Initializes a new SafariDriver using the specified SafariOptions.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This opens Safari's Web Inspector If driver subsequently executes script of "debugger;" the execution will pause, no additional commands will be processed, and the code will time out.
    static org.openqa.selenium.remote.RemoteWebDriverBuilder
     
     
    void
    setFileDetector(org.openqa.selenium.remote.FileDetector detector)
     
    void
    setPermissions(String permission, boolean value)
    Set permission on the browser.

    Methods inherited from class org.openqa.selenium.remote.RemoteWebDriver

    addVirtualAuthenticator, close, deleteDownloadableFiles, downloadFile, execute, execute, execute, executeAsyncScript, executeScript, findElement, findElements, findElements, get, getCapabilities, getCommandExecutor, getCurrentUrl, getDownloadableFiles, getElementConverter, getErrorHandler, getExecuteMethod, getFederatedCredentialManagementDialog, getFileDetector, getPageSource, getScreenshotAs, getSessionId, getTitle, getWindowHandle, getWindowHandles, log, manage, navigate, perform, print, quit, removeVirtualAuthenticator, resetCooldown, resetInputState, setCommandExecutor, setDelayEnabled, setElementConverter, setErrorHandler, setFoundBy, setLogLevel, setSessionId, startSession, switchTo, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.openqa.selenium.HasDownloads

    requireDownloadsEnabled

    Methods inherited from interface org.openqa.selenium.JavascriptExecutor

    executeScript, getPinnedScripts, pin, unpin
  • Constructor Details

    • SafariDriver

      public SafariDriver()
      Initializes a new SafariDriver} class with default SafariOptions.
    • SafariDriver

      public SafariDriver(SafariOptions safariOptions)
      Initializes a new SafariDriver using the specified SafariOptions.
      Parameters:
      safariOptions - safari specific options / capabilities for the driver
    • SafariDriver

      public SafariDriver(SafariDriverService safariService)
      Initializes a new SafariDriver backed by the specified SafariDriverService.
      Parameters:
      safariService - preconfigured safari service
    • SafariDriver

      public SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options)
      Initializes a new SafariDriver using the specified SafariOptions.
      Parameters:
      service - either SafariTechPreviewDriverService or SafariDriverService
      options - safari specific options / capabilities for the driver
    • SafariDriver

      public SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options, org.openqa.selenium.remote.http.ClientConfig clientConfig)
  • Method Details

    • builder

      @Beta public static org.openqa.selenium.remote.RemoteWebDriverBuilder builder()
    • setPermissions

      public void setPermissions(String permission, boolean value)
      Description copied from interface: HasPermissions
      Set permission on the browser. The only supported permission at this time is "getUserMedia".
      Specified by:
      setPermissions in interface HasPermissions
      Parameters:
      permission - the name of the item to set permission on.
      value - whether the permission has been granted.
    • getPermissions

      public Map<String,Boolean> getPermissions()
      Specified by:
      getPermissions in interface HasPermissions
      Returns:
      each permission and whether it is allowed or not.
    • attachDebugger

      public void attachDebugger()
      Description copied from interface: HasDebugger
      This opens Safari's Web Inspector If driver subsequently executes script of "debugger;" the execution will pause, no additional commands will be processed, and the code will time out.
      Specified by:
      attachDebugger in interface HasDebugger
    • setFileDetector

      public void setFileDetector(org.openqa.selenium.remote.FileDetector detector)
      Overrides:
      setFileDetector in class org.openqa.selenium.remote.RemoteWebDriver