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.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
-
Field Summary
Fields inherited from class org.openqa.selenium.remote.RemoteWebDriver
capabilities
-
Constructor Summary
ConstructorsConstructorDescriptionInitializes 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
Modifier and TypeMethodDescriptionvoid
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()
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, network, perform, print, quit, removeVirtualAuthenticator, resetCooldown, resetInputState, script, 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 defaultSafariOptions
. -
SafariDriver
Initializes a new SafariDriver using the specifiedSafariOptions
.- Parameters:
safariOptions
- safari specific options / capabilities for the driver
-
SafariDriver
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 Details
-
builder
@Beta public static org.openqa.selenium.remote.RemoteWebDriverBuilder builder() -
setPermissions
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
- 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
-