Class SafariDriver

  • All Implemented Interfaces:
    org.openqa.selenium.HasCapabilities, 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void attachDebugger()
      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 builder()  
      java.util.Map<java.lang.String,​java.lang.Boolean> getPermissions()  
      void setFileDetector​(org.openqa.selenium.remote.FileDetector detector)  
      void setPermissions​(java.lang.String permission, boolean value)
      Set permission on the browser.
      • Methods inherited from class org.openqa.selenium.remote.RemoteWebDriver

        addVirtualAuthenticator, close, execute, execute, execute, executeAsyncScript, executeScript, findElement, findElement, findElements, findElements, findElements, get, getCapabilities, getCommandExecutor, getCurrentUrl, getElementConverter, getErrorHandler, getExecuteMethod, getFileDetector, getPageSource, getScreenshotAs, getSessionId, getTitle, getWindowHandle, getWindowHandles, log, manage, navigate, perform, print, quit, removeVirtualAuthenticator, resetInputState, setCommandExecutor, 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.JavascriptExecutor

        executeScript, getPinnedScripts, pin, unpin
    • Constructor Detail

      • 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 safariServer,
                            SafariOptions safariOptions)
        Initializes a new SafariDriver using the specified SafariOptions.
        Parameters:
        safariOptions - safari specific options / capabilities for the driver
    • Method Detail

      • builder

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

        public void setPermissions​(java.lang.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 java.util.Map<java.lang.String,​java.lang.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