The WebDriver API is a platform and language-neutral interface and wire protocol allowing programs or scripts to control the behavior of a web browser. The Microsoft Edge implementation of WebDriver supports commands from both the W3C WebDriver Specification and the JSON Wire Protocol. Here’s how to get started with WebDriver for Microsoft Edge.

WebDriver Server Command Line Flags

List of command line flags for the WebDriver server.

NameDescriptionExample
hostSpecify the host the server should use–host=localhost
portSpecify the port the server should use–port=17556
packageSpecify the application id of the UWP app to be launched with WebDriver–package=applicationId
verboseEnable verbose log output from the server–verbose

W3C WebDriver Specification Support

The support on a per command basis for the W3C WebDriver Specification.

Locator StrategiesStatusAvailable Build
CSS selectorSupported10240
Link text selectorSupported10240
Partial link text selectorSupported10240
XPath selectorSupported10586
MethodURI TemplateCommandStatusAvailable Build/Priority
POST/sessionNew SessionSupported10240
DELETE/session/{session id}Delete SessionSupported10240
POST/session/{session id}/urlGoSupported10240
GET/session/{session id}/urlGet Current URLSupported10240
POST/session/{session id}/backBackSupported10240
POST/session/{session id}/forwardForwardSupported10240
POST/session/{session id}/refreshRefreshSupported10240
GET/session/{session id}/titleGet TitleSupported10240
GET/session/{session id}/windowGet Window HandleNot SupportedPriority 2
DELETE/session/{session id}/windowClose WindowSupported10586
POST/session/{session id}/windowSwitch to WindowSupported10586
GET/session/{session id}/window/handlesGet Window HandlesNot SupportedPriority 2
POST/session/{session id}/window/fullscreenFullscreen WindowNot SupportedPriority 4
POST/session/{session id}/window/maximizeMaximize WindowNot SupportedPriority 2
POST/session/{session id}/window/sizeSet Window SizeNot SupportedPriority 2
GET/session/{session id}/window/sizeGet Window SizeNot SupportedPriority 2
POST/session/{session id}/frameSwitch To FrameSupported10586
POST/session/{session id}/frame/parentSwitch to Parent FrameSupported10586
POST/session/{session id}/elementFind ElementSupported10586
POST/session/{session id}/element/{element id}/elementFind Element From ElementSupported10586
POST/session/{session id}/elementsFind ElementsSupported10586
POST/session/{session id}/element/{element id}/elementsFind Elements From ElementSupported10586
GET/session/{session id}/element/activeGet Active ElementSupported10586
GET/session/{session id}/element/{element id}/selectedIs Element SelectedSupported10240
GET/session/{session id}/element/{element id}/attribute/{name}Get Element AttributeSupported10240
GET/session/{session id}/element/{element id}/property/{name}Get Element PropertyNot SupportedPriority 2
GET/session/{session id}/element/{element id}/css/{property name}Get Element CSS ValueSupported10240
GET/session/{session id}/element/{element id}/textGet Element TextSupported10240
GET/session/{session id}/element/{element id}/nameGet Element Tag NameSupported10240
GET/session/{session id}/element/{element id}/rectGet Element RectSupported10586
GET/session/{session id}/element/{element id}/enabledIs Element EnabledSupported10240
GET/session/{session id}/sourceGet Page SourceSupported10586
POST/session/{session id}/execute/syncExecute ScriptNot SupportedPriority 2
POST/session/{session id}/execute/asyncExecute Async ScriptNot SupportedPriority 2
GET/session/{session id}/cookie/{name}Get CookieSupported10240
POST/session/{session id}/cookieAdd CookieSupported10240
DELETE/session/{session id}/cookie/{name}Delete CookieSupported10240
DELETE/session/{session id}/cookieDelete All CookiesSupported10586
POST/session/{session id}/timeoutsSet TimeoutSupported10240
POST/session/{session id}/actionsPerform ActionsNot SupportedPriority 3
DELETE/session/{session id}/actionsReleasing ActionsNot SupportedPriority 3
POST/session/{session id}/element/{element id}/clickElement ClickSupported10240
POST/session/{session id}/element/{element id}/clearElement ClearSupported10240
POST/session/{session id}/element/{element id}/sendKeysElement Send KeysNot SupportedPriority 2
POST/session/{session id}/alert/dismissDismiss AlertNot SupportedPriority 2
POST/session/{session id}/alert/acceptAccept AlertNot SupportedPriority 2
GET/session/{session id}/alert/textGet Alert TextNot SupportedPriority 2
POST/session/{session id}/alert/textSend Alert TextNot SupportedPriority 2
GET/session/{session id}/screenshotTake ScreenshotSupported10240
GET/session/{session id}/element/{element id}/screenshotTake Element ScreenshotSupported10240

JSON Wire Protocol Support

The support on a per command basis for the JSON Wire Protocol.

HTTP MethodPathStatusAvailable Build/Priority
GET/statusSupported10240
POST/sessionSupported10240
GET/sessionsSupported10240
GET/session/:sessionIdSupported10240
DELETE/session/:sessionIdSupported10240
POST/session/:sessionId/timeoutsSupported10240
POST/session/:sessionId/timeouts/async_scriptNot SupportedPriority 3
POST/session/:sessionId/timeouts/implicit_waitSupported10586
GET/session/:sessionId/window_handleSupported10586
GET/session/:sessionId/window_handlesSupported10586
GET/session/:sessionId/urlSupported10240
POST/session/:sessionId/urlSupported10240
POST/session/:sessionId/forwardSupported10240
POST/session/:sessionId/backSupported10240
POST/session/:sessionId/refreshSupported10240
POST/session/:sessionId/executeSupported10240
POST/session/:sessionId/execute_asyncSupported10586
GET/session/:sessionId/screenshotSupported10240
GET/session/:sessionId/ime/available_enginesNot SupportedPriority 3
GET/session/:sessionId/ime/active_engineNot SupportedPriority 3
GET/session/:sessionId/ime/activatedNot SupportedPriority 3
POST/session/:sessionId/ime/deactivateNot SupportedPriority 3
POST/session/:sessionId/ime/activateNot SupportedPriority 3
POST/session/:sessionId/frameSupported10586
POST/session/:sessionId/frame/parentSupported10586
POST/session/:sessionId/windowSupported10586
DELETE/session/:sessionId/windowSupported10586
POST/session/:sessionId/window/:windowHandle/sizeSupported10586
GET/session/:sessionId/window/:windowHandle/sizeSupported10586
POST/session/:sessionId/window/:windowHandle/positionSupported10586
GET/session/:sessionId/window/:windowHandle/positionSupported10586
GET/session/:sessionId/window/:windowHandle/maximizeSupported10586
GET/session/:sessionId/cookieSupported10586
POST/session/:sessionId/cookieSupported10240
DELETE/session/:sessionId/cookieSupported10586
DELETE/session/:sessionId/cookie/:nameSupported10240
GET/session/:sessionId/sourceSupported10586
GET/session/:sessionId}/titleSupported10240
POST/session/:sessionId/elementSupported10586
POST/session/:sessionId/elementsSupported10586
POST/session/:sessionId/element/activeSupported10586
GET/session/:sessionId/element/:idNot SupportedPriority 3
POST/session/:sessionId/element/:id/elementSupported10586
POST/session/:sessionId/element/:id/elementsSupported10586
POST/session/:sessionId/element/:id/clickSupported10240
POST/session/:sessionId/element/:id/submitSupported10586
GET/session/:sessionId/element/:id/textSupported10240
POST/session/:sessionId/element/:id/valueSupported10240
POST/session/:sessionId/keysSupported10586
GET/session/:sessionId/element/:id/nameSupported10240
POST/session/:sessionId/element/:id/clearSupported10240
GET/session/:sessionId/element/:id/selectedSupported10240
GET/session/:sessionId/element/:id/enabledSupported10240
GET/session/:sessionId/element/:id/attribute/:nameSupported10240
GET/session/:sessionId/element/:id/equals/:otherSupported10586
GET/session/:sessionId/element/:id/displayedSupported10240
GET/session/:sessionId/element/:id/locationSupported10586
GET/session/:sessionId/element/:id/location_in_viewSupported10586
GET/session/:sessionId/element/:id/sizeSupported10586
GET/session/:sessionId/element/:id/css/:propertyNameSupported10240
GET/session/:sessionId/orientationNot SupportedPriority 3
POST/session/:sessionId/orientationNot SupportedPriority 3
GET/session/:sessionId/alert_textSupported10240
POST/session/:sessionId/alert_textSupported10586
POST/session/:sessionId/accept_alertSupported10240
POST/session/:sessionId/dismiss_alertSupported10240
POST/session/:sessionId/movetoSupported10586
POST/session/:sessionId/clickSupported10240
POST/session/:sessionId/buttondownSupported10586
POST/session/:sessionId/buttonupSupported10586
POST/session/:sessionId/doubleclickSupported10586
POST/session/:sessionId/touch/clickNot SupportedPriority 3
POST/session/:sessionId/touch/downNot SupportedPriority 3
POST/session/:sessionId/touch/upNot SupportedPriority 3
POST/session/:sessionId/touch/moveNot SupportedPriority 3
POST/session/:sessionId/touch/scrollNot SupportedPriority 3
POST/session/:sessionId/touch/scrollNot SupportedPriority 3
POST/session/:sessionId/touch/doubleclickNot SupportedPriority 3
POST/session/:sessionId/touch/longclickNot SupportedPriority 3
POST/session/:sessionId/touch/flickNot SupportedPriority 3
POST/session/:sessionId/touch/flickNot SupportedPriority 3
GET/session/:sessionId/locationSupported10586
POST/session/:sessionId/locationSupported10586
GET/session/:sessionId/local_storageSupported10586
POST/session/:sessionId/local_storageSupported10586
DELETE/session/:sessionId/local_storageSupported10586
GET/session/:sessionId/local_storage/key/:keySupported10586
DELETE/session/:sessionId/local_storage/key/:keySupported10586
GET/session/:sessionId/local_storage/sizeSupported10586
GET/session/:sessionId/session_storageSupported10586
POST/session/:sessionId/session_storageSupported10586
DELETE/session/:sessionId/session_storageSupported10586
GET/session/:sessionId/session_storage/key/:keySupported10586
DELETE/session/:sessionId/session_storage/key/:keySupported10586
GET/session/:sessionId/session_storage/sizeSupported10586
GET/session/:sessionId/logNot SupportedPriority 3
GET/session/:sessionId/log/typesNot SupportedPriority 3
GET/session/:sessionId/application_cache/statusSupported10586