Package org.openqa.selenium.safari
Class SafariDriver
- java.lang.Object
-
- org.openqa.selenium.remote.RemoteWebDriver
-
- org.openqa.selenium.safari.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.
-
-
Constructor Summary
Constructors Constructor Description SafariDriver()
Initializes a new SafariDriver} class with defaultSafariOptions
.SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options)
Initializes a new SafariDriver using the specifiedSafariOptions
.SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options, org.openqa.selenium.remote.http.ClientConfig clientConfig)
SafariDriver(SafariDriverService safariService)
Initializes a new SafariDriver backed by the specifiedSafariDriverService
.SafariDriver(SafariOptions safariOptions)
Initializes a new SafariDriver using the specifiedSafariOptions
.
-
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
-
-
-
-
Constructor Detail
-
SafariDriver
public SafariDriver()
Initializes a new SafariDriver} class with defaultSafariOptions
.
-
SafariDriver
public SafariDriver(SafariOptions safariOptions)
Initializes a new SafariDriver using the specifiedSafariOptions
.- Parameters:
safariOptions
- safari specific options / capabilities for the driver
-
SafariDriver
public SafariDriver(SafariDriverService safariService)
Initializes a new SafariDriver backed by the specifiedSafariDriverService
.- Parameters:
safariService
- preconfigured safari service
-
SafariDriver
public SafariDriver(org.openqa.selenium.remote.service.DriverService service, SafariOptions options)
Initializes a new SafariDriver using the specifiedSafariOptions
.- Parameters:
service
- eitherSafariTechPreviewDriverService
orSafariDriverService
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 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 interfaceHasPermissions
- 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 interfaceHasPermissions
- 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 interfaceHasDebugger
-
setFileDetector
public void setFileDetector(org.openqa.selenium.remote.FileDetector detector)
- Overrides:
setFileDetector
in classorg.openqa.selenium.remote.RemoteWebDriver
-
-