blob: 9c3578e7087aad2132a6636cfd91518b5df020e6 [file] [log] [blame] [edit]
<!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Global</title><!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(locationPathname=document.location.pathname).substr(0,locationPathname.lastIndexOf("/")+1)</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">Selenium WebDriver JavaScript API</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome.html">selenium-webdriver/chrome</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium.html">selenium-webdriver/chromium</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge.html">selenium-webdriver/edge</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox.html">selenium-webdriver/firefox</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie.html">selenium-webdriver/ie</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari.html">selenium-webdriver/safari</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="Actions.html">Actions</a></div><div class="sidebar-section-children"><a href="Alert.html">Alert</a></div><div class="sidebar-section-children"><a href="AlertPromise.html">AlertPromise</a></div><div class="sidebar-section-children"><a href="ArgumentValue.html">ArgumentValue</a></div><div class="sidebar-section-children"><a href="BaseLogEntry.html">BaseLogEntry</a></div><div class="sidebar-section-children"><a href="BaseParameters.html">BaseParameters</a></div><div class="sidebar-section-children"><a href="BeforeRequestSent.html">BeforeRequestSent</a></div><div class="sidebar-section-children"><a href="BoxClipRectangle.html">BoxClipRectangle</a></div><div class="sidebar-section-children"><a href="global.html#Browser">Browser</a></div><div class="sidebar-section-children"><a href="BrowsingContext.html">BrowsingContext</a></div><div class="sidebar-section-children"><a href="BrowsingContextInfo.html">BrowsingContextInfo</a></div><div class="sidebar-section-children"><a href="BrowsingContextInspector.html">BrowsingContextInspector</a></div><div class="sidebar-section-children"><a href="BrowsingContextPartitionDescriptor.html">BrowsingContextPartitionDescriptor</a></div><div class="sidebar-section-children"><a href="Build.html">Build</a></div><div class="sidebar-section-children"><a href="Builder.html">Builder</a></div><div class="sidebar-section-children"><a href="By.html">By</a></div><div class="sidebar-section-children"><a href="BytesValue.html">BytesValue</a></div><div class="sidebar-section-children"><a href="Capabilities.html">Capabilities</a></div><div class="sidebar-section-children"><a href="CaptureScreenshotParameters.html">CaptureScreenshotParameters</a></div><div class="sidebar-section-children"><a href="ChannelValue.html">ChannelValue</a></div><div class="sidebar-section-children"><a href="ClientWindowInfo.html">ClientWindowInfo</a></div><div class="sidebar-section-children"><a href="ClipRectangle.html">ClipRectangle</a></div><div class="sidebar-section-children"><a href="Command.html">Command</a></div><div class="sidebar-section-children"><a href="Command.html">Command</a></div><div class="sidebar-section-children"><a href="Condition.html">Condition</a></div><div class="sidebar-section-children"><a href="ConsoleLogEntry.html">ConsoleLogEntry</a></div><div class="sidebar-section-children"><a href="ContinueRequestParameters.html">ContinueRequestParameters</a></div><div class="sidebar-section-children"><a href="ContinueResponseParameters.html">ContinueResponseParameters</a></div><div class="sidebar-section-children"><a href="Cookie.html">Cookie</a></div><div class="sidebar-section-children"><a href="CookieFilter.html">CookieFilter</a></div><div class="sidebar-section-children"><a href="CreateContextParameters.html">CreateContextParameters</a></div><div class="sidebar-section-children"><a href="Credential.html">Credential</a></div><div class="sidebar-section-children"><a href="DetachedShadowRootError.html">DetachedShadowRootError</a></div><div class="sidebar-section-children"><a href="Device.html">Device</a></div><div class="sidebar-section-children"><a href="DriverService.html">DriverService</a></div><div class="sidebar-section-children"><a href="DriverService.Builder.html">Builder</a></div><div class="sidebar-section-children"><a href="ElementClickInterceptedError.html">ElementClickInterceptedError</a></div><div class="sidebar-section-children"><a href="ElementClipRectangle.html">ElementClipRectangle</a></div><div class="sidebar-section-children"><a href="ElementNotInteractableError.html">ElementNotInteractableError</a></div><div class="sidebar-section-children"><a href="ElementNotSelectableError.html">ElementNotSelectableError</a></div><div class="sidebar-section-children"><a href="Entry.html">Entry</a></div><div class="sidebar-section-children"><a href="Environment.html">Environment</a></div><div class="sidebar-section-children"><a href="EvaluateResultException.html">EvaluateResultException</a></div><div class="sidebar-section-children"><a href="EvaluateResultSuccess.html">EvaluateResultSuccess</a></div><div class="sidebar-section-children"><a href="ExceptionDetails.html">ExceptionDetails</a></div><div class="sidebar-section-children"><a href="Executor.html">Executor</a></div><div class="sidebar-section-children"><a href="FetchError.html">FetchError</a></div><div class="sidebar-section-children"><a href="FetchTimingInfo.html">FetchTimingInfo</a></div><div class="sidebar-section-children"><a href="FileDetector.html">FileDetector</a></div><div class="sidebar-section-children"><a href="FileDetector.html">FileDetector</a></div><div class="sidebar-section-children"><a href="GenericLogEntry.html">GenericLogEntry</a></div><div class="sidebar-section-children"><a href="Header.html">Header</a></div><div class="sidebar-section-children"><a href="HttpClient.html">HttpClient</a></div><div class="sidebar-section-children"><a href="HttpResponse.html">HttpResponse</a></div><div class="sidebar-section-children"><a href="Index_.html">Index</a></div><div class="sidebar-section-children"><a href="Initiator.html">Initiator</a></div><div class="sidebar-section-children"><a href="Input.html">Input</a></div><div class="sidebar-section-children"><a href="InsecureCertificateError.html">InsecureCertificateError</a></div><div class="sidebar-section-children"><a href="InvalidArgumentError.html">InvalidArgumentError</a></div><div class="sidebar-section-children"><a href="InvalidCharacterError.html">InvalidCharacterError</a></div><div class="sidebar-section-children"><a href="InvalidCookieDomainError.html">InvalidCookieDomainError</a></div><div class="sidebar-section-children"><a href="InvalidCoordinatesError.html">InvalidCoordinatesError</a></div><div class="sidebar-section-children"><a href="InvalidElementStateError.html">InvalidElementStateError</a></div><div class="sidebar-section-children"><a href="InvalidSelectorError.html">InvalidSelectorError</a></div><div class="sidebar-section-children"><a href="JavascriptError.html">JavascriptError</a></div><div class="sidebar-section-children"><a href="JavascriptLogEntry.html">JavascriptLogEntry</a></div><div class="sidebar-section-children"><a href="Keyboard.html">Keyboard</a></div><div class="sidebar-section-children"><a href="Level.html">Level</a></div><div class="sidebar-section-children"><a href="LocalValue.html">LocalValue</a></div><div class="sidebar-section-children"><a href="Locator.html">Locator</a></div><div class="sidebar-section-children"><a href="LogManager.html">LogManager</a></div><div class="sidebar-section-children"><a href="Logger.html">Logger</a></div><div class="sidebar-section-children"><a href="Message.html">Message</a></div><div class="sidebar-section-children"><a href="MoveTargetOutOfBoundsError.html">MoveTargetOutOfBoundsError</a></div><div class="sidebar-section-children"><a href="NavigateResult.html">NavigateResult</a></div><div class="sidebar-section-children"><a href="NavigationInfo.html">NavigationInfo</a></div><div class="sidebar-section-children"><a href="Network.html">Network</a></div><div class="sidebar-section-children"><a href="NetworkInspector.html">NetworkInspector</a></div><div class="sidebar-section-children"><a href="NoSuchAlertError.html">NoSuchAlertError</a></div><div class="sidebar-section-children"><a href="NoSuchCookieError.html">NoSuchCookieError</a></div><div class="sidebar-section-children"><a href="NoSuchElementError.html">NoSuchElementError</a></div><div class="sidebar-section-children"><a href="NoSuchFrameError.html">NoSuchFrameError</a></div><div class="sidebar-section-children"><a href="NoSuchSessionError.html">NoSuchSessionError</a></div><div class="sidebar-section-children"><a href="NoSuchShadowRootError.html">NoSuchShadowRootError</a></div><div class="sidebar-section-children"><a href="NoSuchWindowError.html">NoSuchWindowError</a></div><div class="sidebar-section-children"><a href="PartialCookie.html">PartialCookie</a></div><div class="sidebar-section-children"><a href="PartitionDescriptor.html">PartitionDescriptor</a></div><div class="sidebar-section-children"><a href="PartitionKey.html">PartitionKey</a></div><div class="sidebar-section-children"><a href="Pointer.html">Pointer</a></div><div class="sidebar-section-children"><a href="Preferences.html">Preferences</a></div><div class="sidebar-section-children"><a href="PrintResult.html">PrintResult</a></div><div class="sidebar-section-children"><a href="ProvideResponseParameters.html">ProvideResponseParameters</a></div><div class="sidebar-section-children"><a href="RealmInfo.html">RealmInfo</a></div><div class="sidebar-section-children"><a href="ReferenceValue.html">ReferenceValue</a></div><div class="sidebar-section-children"><a href="RegExpValue.html">RegExpValue</a></div><div class="sidebar-section-children"><a href="RelativeBy.html">RelativeBy</a></div><div class="sidebar-section-children"><a href="RemoteValue.html">RemoteValue</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="RequestData.html">RequestData</a></div><div class="sidebar-section-children"><a href="Response.html">Response</a></div><div class="sidebar-section-children"><a href="ResponseData.html">ResponseData</a></div><div class="sidebar-section-children"><a href="ResponseStarted.html">ResponseStarted</a></div><div class="sidebar-section-children"><a href="Result.html">Result</a></div><div class="sidebar-section-children"><a href="ScriptManager.html">ScriptManager</a></div><div class="sidebar-section-children"><a href="ScriptTimeoutError.html">ScriptTimeoutError</a></div><div class="sidebar-section-children"><a href="Select.html">Select</a></div><div class="sidebar-section-children"><a href="SeleniumServer.html">SeleniumServer</a></div><div class="sidebar-section-children"><a href="SerializationOptions.html">SerializationOptions</a></div><div class="sidebar-section-children"><a href="Server.html">Server</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="SessionNotCreatedError.html">SessionNotCreatedError</a></div><div class="sidebar-section-children"><a href="ShadowRoot.html">ShadowRoot</a></div><div class="sidebar-section-children"><a href="ShadowRootPromise.html">ShadowRootPromise</a></div><div class="sidebar-section-children"><a href="Source.html">Source</a></div><div class="sidebar-section-children"><a href="StaleElementReferenceError.html">StaleElementReferenceError</a></div><div class="sidebar-section-children"><a href="Storage.html">Storage</a></div><div class="sidebar-section-children"><a href="StorageKeyPartitionDescriptor.html">StorageKeyPartitionDescriptor</a></div><div class="sidebar-section-children"><a href="TimeoutError.html">TimeoutError</a></div><div class="sidebar-section-children"><a href="UnableToCaptureScreenError.html">UnableToCaptureScreenError</a></div><div class="sidebar-section-children"><a href="UnableToSetCookieError.html">UnableToSetCookieError</a></div><div class="sidebar-section-children"><a href="UnexpectedAlertOpenError.html">UnexpectedAlertOpenError</a></div><div class="sidebar-section-children"><a href="UnknownCommandError.html">UnknownCommandError</a></div><div class="sidebar-section-children"><a href="UnknownMethodError.html">UnknownMethodError</a></div><div class="sidebar-section-children"><a href="UnsupportedOperationError.html">UnsupportedOperationError</a></div><div class="sidebar-section-children"><a href="UrlPattern.html">UrlPattern</a></div><div class="sidebar-section-children"><a href="VirtualAuthenticatorOptions.html">VirtualAuthenticatorOptions</a></div><div class="sidebar-section-children"><a href="WebDriver.html">WebDriver</a></div><div class="sidebar-section-children"><a href="WebDriverError.html">WebDriverError</a></div><div class="sidebar-section-children"><a href="WebElement.html">WebElement</a></div><div class="sidebar-section-children"><a href="WebElementCondition.html">WebElementCondition</a></div><div class="sidebar-section-children"><a href="WebElementPromise.html">WebElementPromise</a></div><div class="sidebar-section-children"><a href="Wheel.html">Wheel</a></div><div class="sidebar-section-children"><a href="WindowRealmInfo.html">WindowRealmInfo</a></div><div class="sidebar-section-children"><a href="Zip.html">Zip</a></div><div class="sidebar-section-children"><a href="createDriver-thenableWebDriverProxy.html">thenableWebDriverProxy</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Extensions.html">Extensions</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-AddonFormatError.html">AddonFormatError</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Channel.html">Channel</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-ServiceBuilder.html">ServiceBuilder</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-interfaces"><div>Interfaces</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="Action.html">Action</a></div><div class="sidebar-section-children"><a href="Client.html">Client</a></div><div class="sidebar-section-children"><a href="global.html#Config">Config</a></div><div class="sidebar-section-children"><a href="Executor.html">Executor</a></div><div class="sidebar-section-children"><a href="ISelect.html">ISelect</a></div><div class="sidebar-section-children"><a href="IWebDriver.html">IWebDriver</a></div><div class="sidebar-section-children"><a href="global.html#ManualConfig">ManualConfig</a></div><div class="sidebar-section-children"><a href="Options.html">Options</a></div><div class="sidebar-section-children"><a href="Options.Cookie.html">Cookie</a></div><div class="sidebar-section-children"><a href="global.html#PacConfig">PacConfig</a></div><div class="sidebar-section-children"><a href="SeleniumServer.Options.html">Options</a></div><div class="sidebar-section-children"><a href="ServiceOptions.html">ServiceOptions</a></div><div class="sidebar-section-children"><a href="SuiteOptions.html">SuiteOptions</a></div><div class="sidebar-section-children"><a href="TargetBrowser.html">TargetBrowser</a></div><div class="sidebar-section-children"><a href="ThenableWebDriver.html">ThenableWebDriver</a></div><div class="sidebar-section-children"><a href="Timeouts.html">Timeouts</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#Atom">Atom</a></div><div class="sidebar-section-children"><a href="global.html#Browser">Browser</a></div><div class="sidebar-section-children"><a href="global.html#Button">Button</a></div><div class="sidebar-section-children"><a href="global.html#ByHash">ByHash</a></div><div class="sidebar-section-children"><a href="global.html#Capability">Capability</a></div><div class="sidebar-section-children"><a href="global.html#CommandLineFlag">CommandLineFlag</a></div><div class="sidebar-section-children"><a href="global.html#CommandSpec">CommandSpec</a></div><div class="sidebar-section-children"><a href="global.html#CommandTransformer">CommandTransformer</a></div><div class="sidebar-section-children"><a href="global.html#Config">Config</a></div><div class="sidebar-section-children"><a href="global.html#ErrorCode">ErrorCode</a></div><div class="sidebar-section-children"><a href="global.html#EvaluateResultType">EvaluateResultType</a></div><div class="sidebar-section-children"><a href="global.html#INTERNAL_COMPUTE_OFFSET_SCRIPT">INTERNAL_COMPUTE_OFFSET_SCRIPT</a></div><div class="sidebar-section-children"><a href="global.html#InterceptPhase">InterceptPhase</a></div><div class="sidebar-section-children"><a href="global.html#Key">Key</a></div><div class="sidebar-section-children"><a href="global.html#ManualConfig">ManualConfig</a></div><div class="sidebar-section-children"><a href="global.html#Name">Name</a></div><div class="sidebar-section-children"><a href="global.html#NonPrimitiveType">NonPrimitiveType</a></div><div class="sidebar-section-children"><a href="global.html#Origin">Origin</a></div><div class="sidebar-section-children"><a href="global.html#Origin">Origin</a></div><div class="sidebar-section-children"><a href="global.html#PacConfig">PacConfig</a></div><div class="sidebar-section-children"><a href="global.html#PageLoadStrategy">PageLoadStrategy</a></div><div class="sidebar-section-children"><a href="global.html#Platform">Platform</a></div><div class="sidebar-section-children"><a href="global.html#PrimitiveType">PrimitiveType</a></div><div class="sidebar-section-children"><a href="global.html#Protocol">Protocol</a></div><div class="sidebar-section-children"><a href="global.html#RealmType">RealmType</a></div><div class="sidebar-section-children"><a href="global.html#RemoteReferenceType">RemoteReferenceType</a></div><div class="sidebar-section-children"><a href="global.html#RemoteType">RemoteType</a></div><div class="sidebar-section-children"><a href="global.html#RequestOptions">RequestOptions</a></div><div class="sidebar-section-children"><a href="global.html#ResultOwnership">ResultOwnership</a></div><div class="sidebar-section-children"><a href="global.html#SameSite">SameSite</a></div><div class="sidebar-section-children"><a href="global.html#SpecialNumberType">SpecialNumberType</a></div><div class="sidebar-section-children"><a href="global.html#StdIoOptions">StdIoOptions</a></div><div class="sidebar-section-children"><a href="global.html#THENABLE_DRIVERS">THENABLE_DRIVERS</a></div><div class="sidebar-section-children"><a href="global.html#Transport">Transport</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#USER_AGENT">USER_AGENT</a></div><div class="sidebar-section-children"><a href="global.html#UserPromptHandler">UserPromptHandler</a></div><div class="sidebar-section-children"><a href="global.html#W3C_COMMAND_MAP">W3C_COMMAND_MAP</a></div><div class="sidebar-section-children"><a href="global.html#ableToSwitchToFrame">ableToSwitchToFrame</a></div><div class="sidebar-section-children"><a href="global.html#addConsoleHandler">addConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#alertIsPresent">alertIsPresent</a></div><div class="sidebar-section-children"><a href="global.html#arraysEqual">arraysEqual</a></div><div class="sidebar-section-children"><a href="global.html#binaryPaths">binaryPaths</a></div><div class="sidebar-section-children"><a href="global.html#buildPath">buildPath</a></div><div class="sidebar-section-children"><a href="global.html#buildRequest">buildRequest</a></div><div class="sidebar-section-children"><a href="global.html#builtTargets">builtTargets</a></div><div class="sidebar-section-children"><a href="global.html#check">check</a></div><div class="sidebar-section-children"><a href="global.html#checkCodePoint">checkCodePoint</a></div><div class="sidebar-section-children"><a href="global.html#checkLegacyResponse">checkLegacyResponse</a></div><div class="sidebar-section-children"><a href="global.html#checkOptions">checkOptions</a></div><div class="sidebar-section-children"><a href="global.html#checkedCall">checkedCall</a></div><div class="sidebar-section-children"><a href="global.html#checkedNodeCall">checkedNodeCall</a></div><div class="sidebar-section-children"><a href="global.html#color">color</a></div><div class="sidebar-section-children"><a href="global.html#consoleHandler">consoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#copy">copy</a></div><div class="sidebar-section-children"><a href="global.html#copyDir">copyDir</a></div><div class="sidebar-section-children"><a href="global.html#createDriver">createDriver</a></div><div class="sidebar-section-children"><a href="global.html#delayed">delayed</a></div><div class="sidebar-section-children"><a href="global.html#direct">direct</a></div><div class="sidebar-section-children"><a href="global.html#elementIsDisabled">elementIsDisabled</a></div><div class="sidebar-section-children"><a href="global.html#elementIsEnabled">elementIsEnabled</a></div><div class="sidebar-section-children"><a href="global.html#elementIsNotSelected">elementIsNotSelected</a></div><div class="sidebar-section-children"><a href="global.html#elementIsNotVisible">elementIsNotVisible</a></div><div class="sidebar-section-children"><a href="global.html#elementIsSelected">elementIsSelected</a></div><div class="sidebar-section-children"><a href="global.html#elementIsVisible">elementIsVisible</a></div><div class="sidebar-section-children"><a href="global.html#elementLocated">elementLocated</a></div><div class="sidebar-section-children"><a href="global.html#elementTextContains">elementTextContains</a></div><div class="sidebar-section-children"><a href="global.html#elementTextIs">elementTextIs</a></div><div class="sidebar-section-children"><a href="global.html#elementTextMatches">elementTextMatches</a></div><div class="sidebar-section-children"><a href="global.html#elementsLocated">elementsLocated</a></div><div class="sidebar-section-children"><a href="global.html#encodeError">encodeError</a></div><div class="sidebar-section-children"><a href="global.html#ensureFileDetectorsAreEnabled">ensureFileDetectorsAreEnabled</a></div><div class="sidebar-section-children"><a href="global.html#escapeCss">escapeCss</a></div><div class="sidebar-section-children"><a href="global.html#exec">exec</a></div><div class="sidebar-section-children"><a href="global.html#executeCommand">executeCommand</a></div><div class="sidebar-section-children"><a href="global.html#exists">exists</a></div><div class="sidebar-section-children"><a href="global.html#extractId">extractId</a></div><div class="sidebar-section-children"><a href="global.html#filter">filter</a></div><div class="sidebar-section-children"><a href="global.html#filterNonW3CCaps">filterNonW3CCaps</a></div><div class="sidebar-section-children"><a href="global.html#findFreePort">findFreePort</a></div><div class="sidebar-section-children"><a href="global.html#findInPath">findInPath</a></div><div class="sidebar-section-children"><a href="global.html#formatSpawnArgs">formatSpawnArgs</a></div><div class="sidebar-section-children"><a href="global.html#fromWireValue">fromWireValue</a></div><div class="sidebar-section-children"><a href="global.html#fullyResolveKeys">fullyResolveKeys</a></div><div class="sidebar-section-children"><a href="global.html#fullyResolved">fullyResolved</a></div><div class="sidebar-section-children"><a href="global.html#getAddress">getAddress</a></div><div class="sidebar-section-children"><a href="global.html#getAvailableBrowsers">getAvailableBrowsers</a></div><div class="sidebar-section-children"><a href="global.html#getBinary">getBinary</a></div><div class="sidebar-section-children"><a href="global.html#getBinaryPaths">getBinaryPaths</a></div><div class="sidebar-section-children"><a href="global.html#getBrowsersToTestFromEnv">getBrowsersToTestFromEnv</a></div><div class="sidebar-section-children"><a href="global.html#getBrowsingContextInstance">getBrowsingContextInstance</a></div><div class="sidebar-section-children"><a href="global.html#getIPAddress">getIPAddress</a></div><div class="sidebar-section-children"><a href="global.html#getJavaPath">getJavaPath</a></div><div class="sidebar-section-children"><a href="global.html#getLevel">getLevel</a></div><div class="sidebar-section-children"><a href="global.html#getLogInspectorInstance">getLogInspectorInstance</a></div><div class="sidebar-section-children"><a href="global.html#getLogger">getLogger</a></div><div class="sidebar-section-children"><a href="global.html#getLoopbackAddress">getLoopbackAddress</a></div><div class="sidebar-section-children"><a href="global.html#getRequestOptions">getRequestOptions</a></div><div class="sidebar-section-children"><a href="global.html#getStatus">getStatus</a></div><div class="sidebar-section-children"><a href="global.html#getTestHook">getTestHook</a></div><div class="sidebar-section-children"><a href="global.html#headersToString">headersToString</a></div><div class="sidebar-section-children"><a href="global.html#ignore">ignore</a></div><div class="sidebar-section-children"><a href="global.html#init">init</a></div><div class="sidebar-section-children"><a href="global.html#installConsoleHandler">installConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#isErrorResponse">isErrorResponse</a></div><div class="sidebar-section-children"><a href="global.html#isFree">isFree</a></div><div class="sidebar-section-children"><a href="global.html#isId">isId</a></div><div class="sidebar-section-children"><a href="global.html#isIdle">isIdle</a></div><div class="sidebar-section-children"><a href="global.html#isObject">isObject</a></div><div class="sidebar-section-children"><a href="global.html#isPromise">isPromise</a></div><div class="sidebar-section-children"><a href="global.html#isRetryableNetworkError">isRetryableNetworkError</a></div><div class="sidebar-section-children"><a href="global.html#isSelenium3x">isSelenium3x</a></div><div class="sidebar-section-children"><a href="global.html#legacyTimeout">legacyTimeout</a></div><div class="sidebar-section-children"><a href="global.html#load">load</a></div><div class="sidebar-section-children"><a href="global.html#locate">locate</a></div><div class="sidebar-section-children"><a href="global.html#locateWith">locateWith</a></div><div class="sidebar-section-children"><a href="global.html#manual">manual</a></div><div class="sidebar-section-children"><a href="global.html#map">map</a></div><div class="sidebar-section-children"><a href="global.html#mkdir">mkdir</a></div><div class="sidebar-section-children"><a href="global.html#mkdirp">mkdirp</a></div><div class="sidebar-section-children"><a href="global.html#of">of</a></div><div class="sidebar-section-children"><a href="global.html#pac">pac</a></div><div class="sidebar-section-children"><a href="global.html#pad">pad</a></div><div class="sidebar-section-children"><a href="global.html#parseHttpResponse">parseHttpResponse</a></div><div class="sidebar-section-children"><a href="global.html#path">path</a></div><div class="sidebar-section-children"><a href="global.html#projectRoot">projectRoot</a></div><div class="sidebar-section-children"><a href="global.html#read">read</a></div><div class="sidebar-section-children"><a href="global.html#removeConsoleHandler">removeConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#requireAtom">requireAtom</a></div><div class="sidebar-section-children"><a href="global.html#resolveCommandLineFlags">resolveCommandLineFlags</a></div><div class="sidebar-section-children"><a href="global.html#resolveWaitMessage">resolveWaitMessage</a></div><div class="sidebar-section-children"><a href="global.html#rmDir">rmDir</a></div><div class="sidebar-section-children"><a href="global.html#sendIndex">sendIndex</a></div><div class="sidebar-section-children"><a href="global.html#sendRequest">sendRequest</a></div><div class="sidebar-section-children"><a href="global.html#serialize">serialize</a></div><div class="sidebar-section-children"><a href="global.html#setFileDetector">setFileDetector</a></div><div class="sidebar-section-children"><a href="global.html#shouldRetryRequest">shouldRetryRequest</a></div><div class="sidebar-section-children"><a href="global.html#socks">socks</a></div><div class="sidebar-section-children"><a href="global.html#splitHostAndPort">splitHostAndPort</a></div><div class="sidebar-section-children"><a href="global.html#stalenessOf">stalenessOf</a></div><div class="sidebar-section-children"><a href="global.html#start">start</a></div><div class="sidebar-section-children"><a href="global.html#startSeleniumServer">startSeleniumServer</a></div><div class="sidebar-section-children"><a href="global.html#stat">stat</a></div><div class="sidebar-section-children"><a href="global.html#stop">stop</a></div><div class="sidebar-section-children"><a href="global.html#suite">suite</a></div><div class="sidebar-section-children"><a href="global.html#suite">suite</a></div><div class="sidebar-section-children"><a href="global.html#system">system</a></div><div class="sidebar-section-children"><a href="global.html#thenFinally">thenFinally</a></div><div class="sidebar-section-children"><a href="global.html#throwDecodedError">throwDecodedError</a></div><div class="sidebar-section-children"><a href="global.html#titleContains">titleContains</a></div><div class="sidebar-section-children"><a href="global.html#titleIs">titleIs</a></div><div class="sidebar-section-children"><a href="global.html#titleMatches">titleMatches</a></div><div class="sidebar-section-children"><a href="global.html#tmpDir">tmpDir</a></div><div class="sidebar-section-children"><a href="global.html#tmpFile">tmpFile</a></div><div class="sidebar-section-children"><a href="global.html#toExecuteAtomCommand">toExecuteAtomCommand</a></div><div class="sidebar-section-children"><a href="global.html#toMap">toMap</a></div><div class="sidebar-section-children"><a href="global.html#toWireValue">toWireValue</a></div><div class="sidebar-section-children"><a href="global.html#tryParse">tryParse</a></div><div class="sidebar-section-children"><a href="global.html#unlink">unlink</a></div><div class="sidebar-section-children"><a href="global.html#unzip">unzip</a></div><div class="sidebar-section-children"><a href="global.html#url">url</a></div><div class="sidebar-section-children"><a href="global.html#urlContains">urlContains</a></div><div class="sidebar-section-children"><a href="global.html#urlIs">urlIs</a></div><div class="sidebar-section-children"><a href="global.html#urlMatches">urlMatches</a></div><div class="sidebar-section-children"><a href="global.html#waitForServer">waitForServer</a></div><div class="sidebar-section-children"><a href="global.html#waitForUrl">waitForUrl</a></div><div class="sidebar-section-children"><a href="global.html#walkDir">walkDir</a></div><div class="sidebar-section-children"><a href="global.html#whereIs">whereIs</a></div><div class="sidebar-section-children"><a href="global.html#withTagName">withTagName</a></div><div class="sidebar-section-children"><a href="global.html#write">write</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="github" href="https://github.com/SeleniumHQ/selenium" target="">GitHub</a></div><div class="navbar-item"><a id="npm" href="https://www.npmjs.com/package/selenium-webdriver" target="">npm</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><article><div class="container-overview"></div><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="Atom"><span class="type-signature">(constant, non-null) </span>Atom<span class="type-signature"> :function</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">function</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>GET_ATTRIBUTE</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"></td></tr><tr><td class="name"><code>IS_DISPLAYED</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENTS</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line141">line 141</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Browser"><span class="type-signature">(constant) </span>Browser<span class="type-signature"> :string</span></h3><div class="description"><p>Recognized browser names.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>CHROME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>EDGE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIREFOX</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>INTERNET_EXPLORER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SAFARI</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line31">line 31</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Button"><span class="type-signature">(constant) </span>Button<span class="type-signature"> :number</span></h3><div class="description"><p>Enumeration of the buttons used in the advanced interactions API.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">number</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>LEFT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>MIDDLE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>RIGHT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>BACK</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>FORWARD</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line30">line 30</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Capability"><span class="type-signature">(constant) </span>Capability<span class="type-signature"> :string</span></h3><div class="description"><p>The standard WebDriver capability keys.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ACCEPT_INSECURE_TLS_CERTS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Indicates whether a WebDriver session implicitly trusts otherwise untrusted and self-signed TLS certificates during navigation.</p></td></tr><tr><td class="name"><code>BROWSER_NAME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The browser name. Common browser names are defined in the Browser enum.</p></td></tr><tr><td class="name"><code>BROWSER_VERSION</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Identifies the browser version.</p></td></tr><tr><td class="name"><code>LOGGING_PREFS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key for the logging driver logging preferences. The browser name. Common browser names are defined in the Browser enum.</p></td></tr><tr><td class="name"><code>PAGE_LOAD_STRATEGY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Defines the session's page loading strategy.</p></td></tr><tr><td class="name"><code>PLATFORM_NAME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Identifies the operating system of the endpoint node. Common values recognized by the most WebDriver server implementations are predefined in the Platform enum.</p></td></tr><tr><td class="name"><code>PROXY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Describes the proxy configuration to use for a new WebDriver session.</p></td></tr><tr><td class="name"><code>SET_WINDOW_RECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Indicates whether the remote end supports all of the window resizing and positioning commands:</p><ul><li>Window.getRect()</li><li>Window.setRect()</li><li>Window.maximize()</li><li>Window.minimize()</li><li>Window.fullscreen()</li></ul></td></tr><tr><td class="name"><code>TIMEOUTS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Describes the timeouts imposed on certain session operations.</p></td></tr><tr><td class="name"><code>UNHANDLED_PROMPT_BEHAVIOR</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Defines how a WebDriver session should respond to unhandled user prompts.</p></td></tr><tr><td class="name"><code>STRICT_FILE_INTERACTABILITY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Defines the current session’s strict file interactability. Used to upload a file when strict file interactability is on</p></td></tr><tr><td class="name"><code>ENABLE_DOWNLOADS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line141">line 141</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://w3c.github.io/webdriver/webdriver-spec.html#capabilities">https://w3c.github.io/webdriver/webdriver-spec.html#capabilities</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Config"><span class="type-signature">(constant) </span>Config<span class="type-signature"></span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line124">line 124</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="ErrorCode"><span class="type-signature">(constant) </span>ErrorCode<span class="type-signature"> :number</span></h3><div class="description"><p>Enum of legacy error codes. TODO: remove this when all code paths have been switched to the new error types.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">number</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>SUCCESS</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_SESSION</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_ELEMENT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_FRAME</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNKNOWN_COMMAND</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNSUPPORTED_OPERATION</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>STALE_ELEMENT_REFERENCE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>ELEMENT_NOT_VISIBLE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_ELEMENT_STATE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNKNOWN_ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>ELEMENT_NOT_SELECTABLE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>JAVASCRIPT_ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>XPATH_LOOKUP_ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>TIMEOUT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_WINDOW</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_COOKIE_DOMAIN</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNABLE_TO_SET_COOKIE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNEXPECTED_ALERT_OPEN</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_ALERT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>SCRIPT_TIMEOUT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_ELEMENT_COORDINATES</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>IME_NOT_AVAILABLE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>IME_ENGINE_ACTIVATION_FAILED</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_SELECTOR_ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>SESSION_NOT_CREATED</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>MOVE_TARGET_OUT_OF_BOUNDS</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>SQL_DATABASE_ERROR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_XPATH_SELECTOR</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_XPATH_SELECTOR_RETURN_TYPE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>ELEMENT_NOT_INTERACTABLE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>INVALID_ARGUMENT</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>NO_SUCH_COOKIE</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>UNABLE_TO_CAPTURE_SCREEN</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>ELEMENT_CLICK_INTERCEPTED</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>METHOD_NOT_ALLOWED</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="important tag-deprecated bold">Deprecated</dt><dd class="tag-deprecated"><ul><li>Yes</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_error.js.html">lib/error.js</a>, <a href="lib_error.js.html#line373">line 373</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="EvaluateResultType"><span class="type-signature">(constant) </span>EvaluateResultType<span class="type-signature"> :string</span></h3><div class="description"><p>Represents the type of script evaluation result. Described in https://w3c.github.io/webdriver-bidi/#type-script-EvaluateResult.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>SUCCESS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>EXCEPTION</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_evaluateResult.js.html">bidi/evaluateResult.js</a>, <a href="bidi_evaluateResult.js.html#line23">line 23</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="INTERNAL_COMPUTE_OFFSET_SCRIPT"><span class="type-signature">(package, constant) </span>INTERNAL_COMPUTE_OFFSET_SCRIPT<span class="type-signature"></span></h3><div class="description"><p>Script used to compute the offset from the center of a DOM element's first client rect from the top-left corner of the element's bounding client rect. The element's center point is computed using the algorithm defined here: <a href="https:%5C/%5C/w3c.github.io/webdriver/webdriver-spec.html#dfn-center-point">https://w3c.github.io/webdriver/webdriver-spec.html#dfn-center-point</a>.</p><p><strong>This is only exported for use in internal unit tests. DO NOT USE.</strong></p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line1020">line 1020</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="InterceptPhase"><span class="type-signature">(constant) </span>InterceptPhase<span class="type-signature"> :string</span></h3><div class="description"><p>Represents the different phases of intercepting network requests and responses.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>BEFORE_REQUEST_SENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>RESPONSE_STARTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>AUTH_REQUIRED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_interceptPhase.js.html">bidi/interceptPhase.js</a>, <a href="bidi_interceptPhase.js.html#line22">line 22</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Key"><span class="type-signature">(constant) </span>Key<span class="type-signature"> :string</span></h3><div class="description"><p>Representations of pressable keys that aren't text. These are stored in the Unicode PUA (Private Use Area) code points, 0xE000-0xF8FF. Refer to http://www.google.com.au/search?&amp;q=unicode+pua&amp;btnK=Search</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>NULL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CANCEL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>HELP</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>BACK_SPACE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>TAB</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLEAR</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>RETURN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ENTER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SHIFT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CONTROL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ALT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>PAUSE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ESCAPE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SPACE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>PAGE_UP</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>PAGE_DOWN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>END</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>HOME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ARROW_LEFT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>LEFT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ARROW_UP</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>UP</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ARROW_RIGHT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>RIGHT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ARROW_DOWN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DOWN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>INSERT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DELETE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SEMICOLON</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>EQUALS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD0</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD1</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD2</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD3</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD4</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD5</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD6</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD7</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD8</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NUMPAD9</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>MULTIPLY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ADD</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SEPARATOR</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SUBTRACT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DECIMAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DIVIDE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F1</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F2</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F3</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F4</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F5</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F6</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F7</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F8</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F9</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F10</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F11</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>F12</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>COMMAND</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>META</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ZENKAKU_HANKAKU</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Japanese modifier key for switching between full- and half-width characters.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line46">line 46</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://www.w3.org/TR/webdriver/#keyboard-actions">https://www.w3.org/TR/webdriver/#keyboard-actions</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="ManualConfig"><span class="type-signature">(constant) </span>ManualConfig<span class="type-signature"></span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line125">line 125</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Name"><span class="type-signature">(constant) </span>Name<span class="type-signature"> :string</span></h3><div class="description"><p>Enumeration of predefined names command names that all command processors will support.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>GET_SERVER_STATUS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NEW_SESSION</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_SESSIONS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLOSE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>QUIT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_CURRENT_URL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GO_BACK</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GO_FORWARD</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>REFRESH</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ADD_COOKIE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_COOKIE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ALL_COOKIES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DELETE_COOKIE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DELETE_ALL_COOKIES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ACTIVE_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENTS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENTS_RELATIVE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_CHILD_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_CHILD_ELEMENTS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLEAR_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLICK_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SEND_KEYS_TO_ELEMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_CURRENT_WINDOW_HANDLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_WINDOW_HANDLES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_WINDOW_RECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SET_WINDOW_RECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>MAXIMIZE_WINDOW</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>MINIMIZE_WINDOW</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FULLSCREEN_WINDOW</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SWITCH_TO_WINDOW</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SWITCH_TO_NEW_WINDOW</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SWITCH_TO_FRAME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SWITCH_TO_FRAME_PARENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_PAGE_SOURCE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_TITLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>EXECUTE_SCRIPT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>EXECUTE_ASYNC_SCRIPT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_TEXT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_COMPUTED_ROLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_COMPUTED_LABEL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_TAG_NAME</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>IS_ELEMENT_SELECTED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>IS_ELEMENT_ENABLED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>IS_ELEMENT_DISPLAYED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_RECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_ATTRIBUTE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_DOM_ATTRIBUTE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_VALUE_OF_CSS_PROPERTY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ELEMENT_PROPERTY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SCREENSHOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>TAKE_ELEMENT_SCREENSHOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>PRINT_PAGE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_TIMEOUT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SET_TIMEOUT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ACCEPT_ALERT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DISMISS_ALERT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ALERT_TEXT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SET_ALERT_TEXT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_SHADOW_ROOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENT_FROM_SHADOWROOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>FIND_ELEMENTS_FROM_SHADOWROOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ADD_VIRTUAL_AUTHENTICATOR</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>REMOVE_VIRTUAL_AUTHENTICATOR</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ADD_CREDENTIAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_CREDENTIALS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>REMOVE_CREDENTIAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>REMOVE_ALL_CREDENTIALS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SET_USER_VERIFIED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_AVAILABLE_LOG_TYPES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_LOG</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>UPLOAD_FILE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ACTIONS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLEAR_ACTIONS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_DOWNLOADABLE_FILES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DOWNLOAD_FILE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DELETE_DOWNLOADABLE_FILES</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CANCEL_DIALOG</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SELECT_ACCOUNT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_ACCOUNTS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_FEDCM_TITLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>GET_FEDCM_DIALOG_TYPE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SET_DELAY_ENABLED</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>RESET_COOLDOWN</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>CLICK_DIALOG_BUTTON</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_command.js.html">lib/command.js</a>, <a href="lib_command.js.html#line86">line 86</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="NonPrimitiveType"><span class="type-signature">(constant) </span>NonPrimitiveType<span class="type-signature"></span></h3><div class="description"><p>Represents a non-primitive type.</p></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ARRAY</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>DATE</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>MAP</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>OBJECT</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>REGULAR_EXPRESSION</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>SET</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>CHANNEL</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>findByName</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_protocolType.js.html">bidi/protocolType.js</a>, <a href="bidi_protocolType.js.html#line46">line 46</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Origin"><span class="type-signature">(constant) </span>Origin<span class="type-signature"> :string</span></h3><div class="description"><p>Defines the reference point from which to compute offsets for capturing screenshot.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>VIEWPORT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DOCUMENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_captureScreenshotParameters.js.html">bidi/captureScreenshotParameters.js</a>, <a href="bidi_captureScreenshotParameters.js.html#line25">line 25</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Origin"><span class="type-signature">(constant) </span>Origin<span class="type-signature"> :string</span></h3><div class="description"><p>Defines the reference point from which to compute offsets for pointer move actions.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>POINTER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Compute offsets relative to the pointer's current position.</p></td></tr><tr><td class="name"><code>VIEWPORT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Compute offsets relative to the viewport.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line308">line 308</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="PacConfig"><span class="type-signature">(constant) </span>PacConfig<span class="type-signature"></span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line126">line 126</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="PageLoadStrategy"><span class="type-signature">(constant) </span>PageLoadStrategy<span class="type-signature"> :string</span></h3><div class="description"><p>Strategies for waiting for <a href="https://html.spec.whatwg.org/#current-document-readiness">document readiness</a> after a navigation event.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>NONE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Indicates WebDriver should not wait on the document readiness state after a navigation event.</p></td></tr><tr><td class="name"><code>EAGER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Indicates WebDriver should wait for the document readiness state to become &quot;interactive&quot; after navigation.</p></td></tr><tr><td class="name"><code>NORMAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Indicates WebDriver should wait for the document readiness state to be &quot;complete&quot; after navigation. This is the default page loading strategy.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line47">line 47</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Platform"><span class="type-signature">(constant) </span>Platform<span class="type-signature"> :string</span></h3><div class="description"><p>Common platform names. These platforms are not explicitly defined by the WebDriver spec, however, their use is encouraged for interoperability.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>LINUX</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>MAC</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>WINDOWS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line74">line 74</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://w3c.github.io/webdriver/webdriver-spec.html">https://w3c.github.io/webdriver/webdriver-spec.html</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="PrimitiveType"><span class="type-signature">(constant) </span>PrimitiveType<span class="type-signature"></span></h3><div class="description"><p>Represents a primitive type.</p></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>UNDEFINED</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>NULL</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>STRING</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>NUMBER</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>SPECIAL_NUMBER</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>BOOLEAN</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>BIGINT</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>findByName</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_protocolType.js.html">bidi/protocolType.js</a>, <a href="bidi_protocolType.js.html#line23">line 23</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Protocol"><span class="type-signature">(constant) </span>Protocol<span class="type-signature"> :string</span></h3><div class="description"><p>Protocol for virtual authenticators</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>CTAP2</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>U2F</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_virtual_authenticator.js.html">lib/virtual_authenticator.js</a>, <a href="lib_virtual_authenticator.js.html#line24">line 24</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="RealmType"><span class="type-signature">(constant) </span>RealmType<span class="type-signature"></span></h3><div class="description"><p>Represents the types of realms. Described in https://w3c.github.io/webdriver-bidi/#type-script-RealmType.</p></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>AUDIO_WORKLET</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>DEDICATED_WORKER</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>PAINT_WORKLET</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>SERVICE_WORKED</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>SHARED_WORKED</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WINDOW</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WORKER</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WORKLET</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>findByName</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_realmInfo.js.html">bidi/realmInfo.js</a>, <a href="bidi_realmInfo.js.html#line23">line 23</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="RemoteReferenceType"><span class="type-signature">(constant) </span>RemoteReferenceType<span class="type-signature"> :string</span></h3><div class="description"><p>Represents the types of remote reference.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>HANDLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SHARED_ID</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_protocolValue.js.html">bidi/protocolValue.js</a>, <a href="bidi_protocolValue.js.html#line26">line 26</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="RemoteType"><span class="type-signature">(constant) </span>RemoteType<span class="type-signature"></span></h3><div class="description"><p>Represents a remote value type.</p></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>SYMBOL</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>FUNCTION</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WEAK_MAP</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WEAK_SET</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>ITERATOR</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>GENERATOR</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>ERROR</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>PROXY</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>PROMISE</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>TYPED_ARRAY</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>ARRAY_BUFFER</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>NODE_LIST</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>HTML_COLLECTION</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>NODE</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>WINDOW</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>findByName</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_protocolType.js.html">bidi/protocolType.js</a>, <a href="bidi_protocolType.js.html#line69">line 69</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="ResultOwnership"><span class="type-signature">(constant) </span>ResultOwnership<span class="type-signature"> :string</span></h3><div class="description"><p>Enum representing the ownership types.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ROOT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NONE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_resultOwnership.js.html">bidi/resultOwnership.js</a>, <a href="bidi_resultOwnership.js.html#line22">line 22</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="SameSite"><span class="type-signature">(constant) </span>SameSite<span class="type-signature"> :string</span></h3><div class="description"><p>Represents the possible values for the SameSite attribute of a cookie.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>STRICT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>LAX</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NONE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>findByName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_networkTypes.js.html">bidi/networkTypes.js</a>, <a href="bidi_networkTypes.js.html#line25">line 25</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="SpecialNumberType"><span class="type-signature">(constant) </span>SpecialNumberType<span class="type-signature"></span></h3><div class="description"><p>Represents a speacial number type.</p></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>NAN</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>MINUS_ZERO</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>INFINITY</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>MINUS_INFINITY</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_protocolType.js.html">bidi/protocolType.js</a>, <a href="bidi_protocolType.js.html#line100">line 100</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="THENABLE_DRIVERS"><span class="type-signature">(constant, non-null) </span>THENABLE_DRIVERS<span class="type-signature"> :Map.&lt;function(new:<a href="WebDriver.html">WebDriver</a>, !IThenable.&lt;!<a href="Session.html">Session</a>>, ...?), function(new:<a href="ThenableWebDriver.html">ThenableWebDriver</a>, !IThenable.&lt;!<a href="Session.html">Session</a>>, ...?)></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;function(new:<a href="WebDriver.html">WebDriver</a>, !IThenable.&lt;!<a href="Session.html">Session</a>>, ...?), function(new:<a href="ThenableWebDriver.html">ThenableWebDriver</a>, !IThenable.&lt;!<a href="Session.html">Session</a>>, ...?)></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line118">line 118</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Transport"><span class="type-signature">(constant) </span>Transport<span class="type-signature"> :string</span></h3><div class="description"><p>AuthenticatorTransport values</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>BLE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>USB</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>NFC</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>INTERNAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_virtual_authenticator.js.html">lib/virtual_authenticator.js</a>, <a href="lib_virtual_authenticator.js.html#line33">line 33</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Type"><span class="type-signature">(constant) </span>Type<span class="type-signature"> :string</span></h3><div class="description"><p>Represents the types of partition descriptors.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>CONTEXT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>STORAGE_KEY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_partitionDescriptor.js.html">bidi/partitionDescriptor.js</a>, <a href="bidi_partitionDescriptor.js.html#line23">line 23</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Type"><span class="type-signature">(constant) </span>Type<span class="type-signature"> :string</span></h3><div class="description"><p>Common log types.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>BROWSER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Logs originating from the browser.</p></td></tr><tr><td class="name"><code>CLIENT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Logs from a WebDriver client.</p></td></tr><tr><td class="name"><code>DRIVER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Logs from a WebDriver implementation.</p></td></tr><tr><td class="name"><code>PERFORMANCE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Logs related to performance.</p></td></tr><tr><td class="name"><code>SERVER</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Logs from the remote server.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line588">line 588</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Type"><span class="type-signature">(constant) </span>Type<span class="type-signature"> :string</span></h3><div class="description"><p>Supported <a href="global.html#Config">proxy configuration</a> types.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>AUTODETECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>DIRECT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>MANUAL</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>PAC</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>SYSTEM</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line35">line 35</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="Type"><span class="type-signature">(constant) </span>Type<span class="type-signature"></span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line127">line 127</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="USER_AGENT"><span class="type-signature">(constant) </span>USER_AGENT<span class="type-signature"> :string</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line62">line 62</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="UserPromptHandler"><span class="type-signature">(constant) </span>UserPromptHandler<span class="type-signature"> :string</span></h3><div class="description"><p>The possible default actions a WebDriver session can take to respond to unhandled user prompts (<code>window.alert()</code>, <code>window.confirm()</code>, and <code>window.prompt()</code>).</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span></li></ul></div><b class="subsection-title">Properties</b><div class="allow-overflow"><table class="props"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ACCEPT</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>All prompts should be silently accepted.</p></td></tr><tr><td class="name"><code>DISMISS</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>All prompts should be silently dismissed.</p></td></tr><tr><td class="name"><code>ACCEPT_AND_NOTIFY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>All prompts should be automatically accepted, but an error should be returned to the next (or currently executing) WebDriver command.</p></td></tr><tr><td class="name"><code>DISMISS_AND_NOTIFY</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>All prompts should be automatically dismissed, but an error should be returned to the next (or currently executing) WebDriver command.</p></td></tr><tr><td class="name"><code>IGNORE</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>All prompts should be left unhandled.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line116">line 116</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="W3C_COMMAND_MAP"><span class="type-signature">(constant, non-null) </span>W3C_COMMAND_MAP<span class="type-signature"> :Map.&lt;string, (<a href="global.html#CommandSpec">CommandSpec</a>|<a href="global.html#CommandTransformer">CommandTransformer</a>)></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;string, (<a href="global.html#CommandSpec">CommandSpec</a>|<a href="global.html#CommandTransformer">CommandTransformer</a>)></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line192">line 192</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="builtTargets"><span class="type-signature">(non-null) </span>builtTargets<span class="type-signature"> :Object</span></h3><div class="description"><p>Targets that have been previously built.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_build.js.html">lib/test/build.js</a>, <a href="lib_test_build.js.html#line40">line 40</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="path"><span class="type-signature">(constant) </span>path<span class="type-signature"></span></h3><div class="description"><p>This implementation is still in beta, and may change.</p><p>Utility to find if a given file is present and executable.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="common_driverFinder.js.html">common/driverFinder.js</a>, <a href="common_driverFinder.js.html#line24">line 24</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="start"><span class="type-signature"></span>start<span class="type-signature"></span></h3><div class="description"><p>Starts the server on the specified port.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_fileserver.js.html">lib/test/fileserver.js</a>, <a href="lib_test_fileserver.js.html#line342">line 342</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="stop"><span class="type-signature"></span>stop<span class="type-signature"></span></h3><div class="description"><p>Stops the server.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_fileserver.js.html">lib/test/fileserver.js</a>, <a href="lib_test_fileserver.js.html#line349">line 349</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="url"><span class="type-signature"></span>url<span class="type-signature"></span></h3><div class="description"><p>Formats a URL for this server.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_fileserver.js.html">lib/test/fileserver.js</a>, <a href="lib_test_fileserver.js.html#line357">line 357</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="ableToSwitchToFrame"><span class="type-signature"></span>ableToSwitchToFrame<span class="signature">(frame)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait until the input driver is able to switch to the designated frame. The target frame may be specified as</p><ol><li>a numeric index into <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window.frames">window.frames</a> for the currently selected frame.</li><li>a ./webdriver.WebElement, which must reference a FRAME or IFRAME element on the current page.</li><li>a locator which may be used to first locate a FRAME or IFRAME on the current page before attempting to switch to it.</li></ol><p>Upon successful resolution of this condition, the driver will be left focused on the new frame.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>frame</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line70">line 70</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="addConsoleHandler"><span class="type-signature"></span>addConsoleHandler<span class="signature">(opt_logger<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Adds the console handler to the given logger. The console handler will log all messages using the JavaScript Console API.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>opt_logger</code></td><td class="type"><span class="param-type"><a href="Logger.html">Logger</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The logger to add the handler to; defaults to the root logger.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line560">line 560</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="alertIsPresent"><span class="type-signature"></span>alertIsPresent<span class="signature">()</span></h3><div class="description"><p>Creates a condition that waits for an alert to be opened. Upon success, the returned promise will be fulfilled with the handle for the opened alert.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line110">line 110</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong></div><h3 class="name has-anchor" id="arraysEqual"><span class="type-signature"></span>arraysEqual<span class="signature">(array1, array2)</span></h3><div class="description"><p>Checks if the two arrays are equal or not. Conditions to check are:</p><ol><li>If the length of both arrays is equal</li><li>If all elements of array1 are present in array2</li><li>If all elements of array2 are present in array1</li></ol></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>array1</code></td><td class="type"></td><td class="description last"><p>First array to be checked for equality</p></td></tr><tr><td class="name"><code>array2</code></td><td class="type"></td><td class="description last"><p>Second array to be checked for equality</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="test_virtualAuthenticator_test.js.html">test/virtualAuthenticator_test.js</a>, <a href="test_virtualAuthenticator_test.js.html#line96">line 96</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>true if equal, otherwise false.</p></div></div><h3 class="name has-anchor" id="binaryPaths"><span class="type-signature"></span>binaryPaths<span class="signature">(args)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Determines the path of the correct driver</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>args</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="description last"><p>arguments to invoke Selenium Manager</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="common_seleniumManager.js.html">common/seleniumManager.js</a>, <a href="common_seleniumManager.js.html#line70">line 70</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>path of the driver and browser location</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="buildPath"><span class="type-signature"></span>buildPath<span class="signature">(path, parameters<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Builds a fully qualified path using the given set of command parameters. Each path segment prefixed with ':' will be replaced by the value of the corresponding parameter. All parameters spliced into the path will be removed from the parameter map.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>path</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The original resource path.</p></td></tr><tr><td class="name"><code>parameters</code></td><td class="type"><span class="param-type">Object.&lt;*></span></td><td class="description last"><p>The parameters object to splice into the path.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line556">line 556</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The modified path.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="buildRequest"><span class="type-signature"></span>buildRequest<span class="signature">(customCommands, command<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="Request.html">Request</a>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>customCommands</code></td><td class="type"><span class="param-type">Map.&lt;string, <a href="global.html#CommandSpec">CommandSpec</a>></span></td><td class="description last"><p>A map of custom command definitions.</p></td></tr><tr><td class="name"><code>command</code></td><td class="type"><span class="param-type">cmd.<wbr>Command</span></td><td class="description last"><p>The command to resolve.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line360">line 360</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with the command to execute.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Request.html">Request</a></span></dd></dl></div><h3 class="name has-anchor" id="check"><span class="type-signature"></span>check<span class="signature">(locator<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="By.html">By</a>|function}</span></h3><div class="description"><p>Checks if a value is a valid locator.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>locator</code></td><td class="type"><span class="param-type"><a href="By.html">By</a></span> |<wbr> <span class="param-type">function</span> |<wbr> <span class="param-type"><a href="global.html#ByHash">ByHash</a></span></td><td class="description last"><p>The value to check.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_by.js.html">lib/by.js</a>, <a href="lib_by.js.html#line450">line 450</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If the given value does not define a valid locator strategy.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">TypeError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The valid locator.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="By.html">By</a></span> |<wbr> <span class="param-type">function</span></dd></dl></div><h3 class="name has-anchor" id="checkCodePoint"><span class="type-signature"></span>checkCodePoint<span class="signature">(key)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type"><a href="global.html#Key">Key</a></span> |<wbr> <span class="param-type">number</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line247">line 247</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc"><span class="param-type"><a href="InvalidArgumentError.html">InvalidArgumentError</a></span> |<wbr> <span class="param-type">RangeError</span></div></div><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="checkLegacyResponse"><span class="type-signature"></span>checkLegacyResponse<span class="signature">(responseObj)</span><span class="type-signature"> &rarr; {*}</span></h3><div class="description"><p>Checks a legacy response from the Selenium 2.0 wire protocol for an error.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>responseObj</code></td><td class="type"><span class="param-type">*</span></td><td class="description last"><p>the response object to check.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_error.js.html">lib/error.js</a>, <a href="lib_error.js.html#line539">line 539</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>if the response object defines an error.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type"><a href="WebDriverError.html">WebDriverError</a></span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>responseObj the original response if it does not define an error.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">*</span></dd></dl></div><h3 class="name has-anchor" id="checkOptions"><span class="type-signature"></span>checkOptions<span class="signature">(caps<span class="signature-attributes">non-null</span>, key, optionType, setMethod)</span></h3><div class="description"><p>In the 3.x releases, the various browser option classes (e.g. firefox.Options) had to be manually set as an option using the Capabilities class:</p><pre><code>let ffo = new firefox.Options();
// Configure firefox options...
let caps = new Capabilities();
caps.set('moz:firefoxOptions', ffo);
let driver = new Builder()
.withCapabilities(caps)
.build();
</code></pre><p>The options are now subclasses of Capabilities and can be used directly. A direct translation of the above is:</p><pre><code>let ffo = new firefox.Options();
// Configure firefox options...
let driver = new Builder()
.withCapabilities(ffo)
.build();
</code></pre><p>You can also set the options for various browsers at once and let the builder choose the correct set at runtime (see Builder docs above):</p><pre><code>let ffo = new firefox.Options();
// Configure ...
let co = new chrome.Options();
// Configure ...
let driver = new Builder()
.setChromeOptions(co)
.setFirefoxOptions(ffo)
.build();
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>caps</code></td><td class="type"><span class="param-type"><a href="Capabilities.html">Capabilities</a></span></td><td class="description last"></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>optionType</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"></td></tr><tr><td class="name"><code>setMethod</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line755">line 755</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc"><span class="param-type">error.<wbr>InvalidArgumentError</span></div></div><h3 class="name has-anchor" id="checkedCall"><span class="type-signature"></span>checkedCall<span class="signature">(fn<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;T>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"><p>.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line29">line 29</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;T></span></dd></dl></div><h3 class="name has-anchor" id="checkedNodeCall"><span class="type-signature"></span>checkedNodeCall<span class="signature">(fn<span class="signature-attributes">non-null</span>, &hellip;args)</span><span class="type-signature"> &rarr; (non-null) {Thenable}</span></h3><div class="description"><p>Wraps a function that expects a node-style callback as its final argument. This callback expects two arguments: an error value (which will be null if the call succeeded), and the success value as the second argument. The callback will the resolve or reject the returned promise, based on its arguments.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The function to wrap.</p></td></tr><tr><td class="name"><code>args</code></td><td class="type"><span class="param-type">?</span></td><td class="attributes">&lt;repeatable><br></td><td class="description last"><p>The arguments to apply to the function, excluding the final callback.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line49">line 49</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will be resolved with the result of the provided function's callback.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Thenable</span></dd></dl></div><h3 class="name has-anchor" id="color"><span class="type-signature"></span>color<span class="signature">()</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line82">line 82</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="consoleHandler"><span class="type-signature"></span>consoleHandler<span class="signature">(entry<span class="signature-attributes">non-null</span>)</span></h3><div class="description"><p>Logs all messages to the Console API.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>entry</code></td><td class="type"><span class="param-type"><a href="Entry.html">Entry</a></span></td><td class="description last"><p>the entry to log.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line518">line 518</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="copy"><span class="type-signature"></span>copy<span class="signature">(src, dst)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Copies one file to another.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>src</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The source file.</p></td></tr><tr><td class="name"><code>dst</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The destination file.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line71">line 71</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the copied file's path.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="copyDir"><span class="type-signature"></span>copyDir<span class="signature">(src, dst, opt_exclude<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Recursively copies the contents of one directory to another.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>src</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The source directory to copy.</p></td></tr><tr><td class="name"><code>dst</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The directory to copy into.</p></td></tr><tr><td class="name"><code>opt_exclude</code></td><td class="type"><span class="param-type">RegExp</span> |<wbr> <span class="param-type">function</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>An exclusion filter as either a regex or predicate function. All files matching this filter will not be copied.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line94">line 94</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the destination directory's path once all files have been copied.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="createDriver"><span class="type-signature"></span>createDriver<span class="signature">(ctor, &hellip;args)</span><span class="type-signature"> &rarr; (non-null) {<a href="ThenableWebDriver.html">ThenableWebDriver</a>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ctor</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"></td></tr><tr><td class="name"><code>args</code></td><td class="type"><span class="param-type">?</span></td><td class="attributes">&lt;repeatable><br></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line125">line 125</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="ThenableWebDriver.html">ThenableWebDriver</a></span></dd></dl></div><h3 class="name has-anchor" id="delayed"><span class="type-signature"></span>delayed<span class="signature">(ms)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;void>}</span></h3><div class="description"><p>Creates a promise that will be resolved at a set time in the future.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ms</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>The amount of time, in milliseconds, to wait before resolving the promise.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line33">line 33</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The promise.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="direct"><span class="type-signature"></span>direct<span class="signature">()</span><span class="type-signature"> &rarr; (non-null) {<a href="global.html#Config">Config</a>}</span></h3><div class="description"><p>Configures WebDriver to bypass all browser proxies.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line133">line 133</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new proxy configuration object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#Config">Config</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsDisabled"><span class="type-signature"></span>elementIsDisabled<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to be disabled.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line329">line 329</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#isEnabled</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsEnabled"><span class="type-signature"></span>elementIsEnabled<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to be enabled.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line316">line 316</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#isEnabled</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsNotSelected"><span class="type-signature"></span>elementIsNotSelected<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to be deselected.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line354">line 354</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#isSelected</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsNotVisible"><span class="type-signature"></span>elementIsNotVisible<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to be in the DOM, yet not visible to the user.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line303">line 303</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>./webdriver.WebDriver#isDisplayed</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsSelected"><span class="type-signature"></span>elementIsSelected<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to be selected.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line341">line 341</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#isSelected</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementIsVisible"><span class="type-signature"></span>elementIsVisible<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to become visible.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line289">line 289</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>./webdriver.WebDriver#isDisplayed</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementLocated"><span class="type-signature"></span>elementLocated<span class="signature">(locator<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will loop until an element is found with the given locator.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>locator</code></td><td class="type"><span class="param-type"><a href="By.html">By</a></span> |<wbr> <span class="param-type">function</span></td><td class="description last"><p>The locator to use.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line230">line 230</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementTextContains"><span class="type-signature"></span>elementTextContains<span class="signature">(element, substr)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element's visible text to contain the given substring.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>substr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The substring to search for.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line386">line 386</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#getText</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementTextIs"><span class="type-signature"></span>elementTextIs<span class="signature">(element, text)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element's visible text to match the given {@code text} exactly.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>text</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The expected text.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line370">line 370</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#getText</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementTextMatches"><span class="type-signature"></span>elementTextMatches<span class="signature">(element, regex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="WebElementCondition.html">WebElementCondition</a>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element's visible text to match a regular expression.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>regex</code></td><td class="type"><span class="param-type">RegExp</span></td><td class="description last"><p>The regular expression to test against.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line402">line 402</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>webdriver.WebDriver#getText</li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="WebElementCondition.html">WebElementCondition</a></span></dd></dl></div><h3 class="name has-anchor" id="elementsLocated"><span class="type-signature"></span>elementsLocated<span class="signature">(locator<span class="signature-attributes">non-null</span>)</span></h3><div class="description"><p>Creates a condition that will loop until at least one element is found with the given locator.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>locator</code></td><td class="type"><span class="param-type"><a href="By.html">By</a></span> |<wbr> <span class="param-type">function</span></td><td class="description last"><p>The locator to use.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line248">line 248</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong></div><h3 class="name has-anchor" id="encodeError"><span class="type-signature"></span>encodeError<span class="signature">(err)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>err</code></td><td class="type"><span class="param-type">*</span></td><td class="description last"><p>The error to encode.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_error.js.html">lib/error.js</a>, <a href="lib_error.js.html#line485">line 485</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the encoded error.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="ensureFileDetectorsAreEnabled"><span class="type-signature"></span>ensureFileDetectorsAreEnabled<span class="signature">(ctor)</span><span class="type-signature"> &rarr; {function}</span></h3><div class="description"><p>WebDriver's setFileDetector method uses a non-standard command to transfer files from the local client to the remote end hosting the browser. Many of the WebDriver sub-types, like the chrome.Driver and firefox.Driver, do not support this command. Thus, these classes override the <code>setFileDetector</code> to no-op.</p><p>This function uses a mixin to re-enable <code>setFileDetector</code> by calling the original method on the WebDriver prototype directly. This is used only when the builder creates a Chrome or Firefox instance that communicates with a remote end (and thus, support for remote file detectors is unknown).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>ctor</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line84">line 84</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">function</span></dd></dl></div><h3 class="name has-anchor" id="escapeCss"><span class="type-signature"></span>escapeCss<span class="signature">(css)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Escapes a CSS string.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>css</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>the string to escape.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_by.js.html">lib/by.js</a>, <a href="lib_by.js.html#line67">line 67</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://drafts.csswg.org/cssom/#serialize-an-identifier">https://drafts.csswg.org/cssom/#serialize-an-identifier</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>if the input value is not a string.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">TypeError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>if the string contains an invalid character.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type"><a href="InvalidCharacterError.html">InvalidCharacterError</a></span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the escaped string.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="exec"><span class="type-signature"></span>exec<span class="signature">(command, opt_options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="Command.html">Command</a>}</span></h3><div class="description"><p>Spawns a child process. The returned <a href="Command.html">Command</a> may be used to wait for the process result or to send signals to the process.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>command</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The executable to spawn.</p></td></tr><tr><td class="name"><code>opt_options</code></td><td class="type"><span class="param-type"><a href="Options.html">Options</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The command options.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_exec.js.html">io/exec.js</a>, <a href="io_exec.js.html#line123">line 123</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The launched command.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Command.html">Command</a></span></dd></dl></div><h3 class="name has-anchor" id="executeCommand"><span class="type-signature"></span>executeCommand<span class="signature">(executor<span class="signature-attributes">non-null</span>, command<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Translates a command to its wire-protocol representation before passing it to the given <code>executor</code> for execution.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>executor</code></td><td class="type"><span class="param-type">command.<wbr>Executor</span></td><td class="description last"><p>The executor to use.</p></td></tr><tr><td class="name"><code>command</code></td><td class="type"><span class="param-type">command.<wbr>Command</span></td><td class="description last"><p>The command to execute.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line123">line 123</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with the command response.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="exists"><span class="type-signature"></span>exists<span class="signature">(aPath)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;boolean>}</span></h3><div class="description"><p>Tests if a file path exists.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The path to test.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line138">line 138</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for whether the file exists.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="extractId"><span class="type-signature"></span>extractId<span class="signature">(obj)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Extracts the encoded WebElement ID from the object.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>obj</code></td><td class="type"><span class="param-type">?</span></td><td class="description last"><p>The object to extract the ID from.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webelement.js.html">lib/webelement.js</a>, <a href="lib_webelement.js.html#line46">line 46</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>if the object is not a valid encoded ID.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">TypeError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the extracted ID.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="filter"><span class="type-signature">(async) </span>filter<span class="signature">(array<span class="signature-attributes">non-null</span>, fn, self<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Calls a function for each element in an array, and if the function returns true adds the element to a new array.</p><p>If the return value of the filter function is a promise, this function will wait for it to be fulfilled before determining whether to insert the element into the new array.</p><p>If the filter function throws or returns a rejected promise, the promise returned by this function will be rejected with the same reason. Only the first failure will be reported; all subsequent errors will be silently ignored.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>array</code></td><td class="type"><span class="param-type">Array.&lt;TYPE></span> |<wbr> <span class="param-type">IThenable.&lt;!Array.&lt;TYPE>></span></td><td class="attributes"></td><td class="description last"><p>The array to iterate over, or a promise that will resolve to said array.</p></td></tr><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The function to call for each element in the array.</p></td></tr><tr><td class="name"><code>self</code></td><td class="type"><span class="param-type">SELF</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The object to be used as the value of 'this' within <code>fn</code>.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line166">line 166</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="filterNonW3CCaps"><span class="type-signature"></span>filterNonW3CCaps<span class="signature">(capabilities<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="Capabilities.html">Capabilities</a>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilities</code></td><td class="type"><span class="param-type"><a href="Capabilities.html">Capabilities</a></span></td><td class="description last"><p>A capabilities object.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line643">line 643</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A copy of the parameter capabilities, omitting capability names that are not valid W3C names.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Capabilities.html">Capabilities</a></span></dd></dl></div><h3 class="name has-anchor" id="findFreePort"><span class="type-signature"></span>findFreePort<span class="signature">(opt_host<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;number>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>opt_host</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The bound host to test the {@code port} against. Defaults to {@code INADDR_ANY}.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_portprober.js.html">net/portprober.js</a>, <a href="net_portprober.js.html#line53">line 53</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve to a free port. If a port cannot be found, the promise will be rejected.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;number></span></dd></dl></div><h3 class="name has-anchor" id="findInPath"><span class="type-signature"></span>findInPath<span class="signature">(file, opt_checkCwd<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (nullable) {string}</span></h3><div class="description"><p>Searches the {@code PATH} environment variable for the given file.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>file</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The file to locate on the PATH.</p></td></tr><tr><td class="name"><code>opt_checkCwd</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Whether to always start with the search with the current working directory, regardless of whether it is explicitly listed on the PATH.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line210">line 210</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Path to the located file, or {@code null} if it could not be found.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="formatSpawnArgs"><span class="type-signature"></span>formatSpawnArgs<span class="signature">(seleniumStandalonePath, args)</span><span class="type-signature"> &rarr; {Array.&lt;string>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>seleniumStandalonePath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>path to standalone server</p></td></tr><tr><td class="name"><code>args</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="description last"><p>spawn arguments array returns formatted args based on selenium standalone server version</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_util.js.html">remote/util.js</a>, <a href="remote_util.js.html#line50">line 50</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="fromWireValue"><span class="type-signature"></span>fromWireValue<span class="signature">(driver<span class="signature-attributes">non-null</span>, value)</span><span class="type-signature"> &rarr; {*}</span></h3><div class="description"><p>Converts a value from its JSON representation according to the WebDriver wire protocol. Any JSON object that defines a WebElement ID will be decoded to a <a href="WebElement.html">WebElement</a> object. All other values will be passed through as is.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>driver</code></td><td class="type"><span class="param-type"><a href="WebDriver.html">WebDriver</a></span></td><td class="description last"><p>The driver to use as the parent of any unwrapped <a href="WebElement.html">WebElement</a> values.</p></td></tr><tr><td class="name"><code>value</code></td><td class="type"><span class="param-type">*</span></td><td class="description last"><p>The value to convert.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line211">line 211</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The converted value.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">*</span></dd></dl></div><h3 class="name has-anchor" id="fullyResolveKeys"><span class="type-signature">(async) </span>fullyResolveKeys<span class="signature">(obj<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Thenable}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>obj</code></td><td class="type"><span class="param-type">Array</span> |<wbr> <span class="param-type">Object</span></td><td class="description last"><p>the object to resolve.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line226">line 226</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will be resolved with the input object once all of its values have been fully resolved.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Thenable</span></dd></dl></div><h3 class="name has-anchor" id="fullyResolved"><span class="type-signature">(async) </span>fullyResolved<span class="signature">(value)</span><span class="type-signature"> &rarr; (non-null) {Thenable}</span></h3><div class="description"><p>Returns a promise that will be resolved with the input value in a fully-resolved state. If the value is an array, each element will be fully resolved. Likewise, if the value is an object, all keys will be fully resolved. In both cases, all nested arrays and objects will also be fully resolved. All fields are resolved in place; the returned promise will resolve on {@code value} and not a copy.</p><p>Warning: This function makes no checks against objects that contain cyclical references:</p><pre><code>var value = {};
value['self'] = value;
promise.fullyResolved(value); // Stack overflow.
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>value</code></td><td class="type"><span class="param-type">*</span></td><td class="description last"><p>The value to fully resolve.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line204">line 204</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for a fully resolved version of the input value.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Thenable</span></dd></dl></div><h3 class="name has-anchor" id="getAddress"><span class="type-signature"></span>getAddress<span class="signature">(family<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {string|undefined}</span></h3><div class="description"><p>Retrieves the external IP address for this host.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>family</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">IPv4</td><td class="description last"><p>The IP family to retrieve. Defaults to &quot;IPv4&quot;.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_index.js.html">net/index.js</a>, <a href="net_index.js.html#line66">line 66</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The IP address or undefined if not available.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span> |<wbr> <span class="param-type">undefined</span></dd></dl></div><h3 class="name has-anchor" id="getAvailableBrowsers"><span class="type-signature"></span>getAvailableBrowsers<span class="signature">()</span><span class="type-signature"> &rarr; (non-null) {Array.&lt;!<a href="TargetBrowser.html">TargetBrowser</a>>}</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line131">line 131</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the browsers available for testing on this system.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;!<a href="TargetBrowser.html">TargetBrowser</a>></span></dd></dl></div><h3 class="name has-anchor" id="getBinary"><span class="type-signature"></span>getBinary<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Determines the path of the correct Selenium Manager binary</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="common_seleniumManager.js.html">common/seleniumManager.js</a>, <a href="common_seleniumManager.js.html#line37">line 37</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="getBinaryPaths"><span class="type-signature"></span>getBinaryPaths<span class="signature">(capabilities)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Determines the path of the correct Selenium Manager binary</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilities</code></td><td class="type"><span class="param-type"><a href="Capabilities.html">Capabilities</a></span></td><td class="description last"><p>browser options to fetch the driver</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="common_driverFinder.js.html">common/driverFinder.js</a>, <a href="common_driverFinder.js.html#line33">line 33</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>path of the driver and browser location</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="getBrowsersToTestFromEnv"><span class="type-signature"></span>getBrowsersToTestFromEnv<span class="signature">()</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Extracts the browsers for a test suite to target from the <code>SELENIUM_BROWSER</code> environment variable.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line108">line 108</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>[] the browsers to target.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="getBrowsingContextInstance"><span class="type-signature">(async) </span>getBrowsingContextInstance<span class="signature">(driver, browsingContextId, type, createParameters)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="BrowsingContext.html">BrowsingContext</a>>}</span></h3><div class="description"><p>initiate browsing context instance and return</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>driver</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>browsingContextId</code></td><td class="type"></td><td class="description last"><p>The browsing context of current window/tab</p></td></tr><tr><td class="name"><code>type</code></td><td class="type"></td><td class="description last"><p>&quot;window&quot; or &quot;tab&quot;</p></td></tr><tr><td class="name"><code>createParameters</code></td><td class="type"></td><td class="description last"><p>The parameters for creating a new browsing context</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_browsingContext.js.html">bidi/browsingContext.js</a>, <a href="bidi_browsingContext.js.html#line650">line 650</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;<a href="BrowsingContext.html">BrowsingContext</a>></span></dd></dl></div><h3 class="name has-anchor" id="getIPAddress"><span class="type-signature"></span>getIPAddress<span class="signature">(loopback, family)</span><span class="type-signature"> &rarr; {string|undefined}</span></h3><div class="description"><p>Queries the system network interfaces for an IP address.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>loopback</code></td><td class="type"><span class="param-type">boolean</span></td><td class="description last"><p>Whether to find a loopback address.</p></td></tr><tr><td class="name"><code>family</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The IP family (IPv4 or IPv6). Defaults to IPv4.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_index.js.html">net/index.js</a>, <a href="net_index.js.html#line38">line 38</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The located IP address or undefined.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span> |<wbr> <span class="param-type">undefined</span></dd></dl></div><h3 class="name has-anchor" id="getJavaPath"><span class="type-signature"></span>getJavaPath<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>returns path to java or 'java' string if JAVA_HOME does not exist in env obj</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_util.js.html">remote/util.js</a>, <a href="remote_util.js.html#line28">line 28</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="getLevel"><span class="type-signature"></span>getLevel<span class="signature">(nameOrValue)</span><span class="type-signature"> &rarr; (non-null) {<a href="Level.html">Level</a>}</span></h3><div class="description"><p>Converts a level name or value to a <a href="Level.html">Level</a> value. If the name/value is not recognized, <a href="Level.html#.ALL">Level.ALL</a> will be returned.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>nameOrValue</code></td><td class="type"><span class="param-type">number</span> |<wbr> <span class="param-type">string</span></td><td class="description last"><p>The log level name, or value, to convert.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line191">line 191</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The converted level.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Level.html">Level</a></span></dd></dl></div><h3 class="name has-anchor" id="getLogInspectorInstance"><span class="type-signature">(async) </span>getLogInspectorInstance<span class="signature">(driver, browsingContextIds)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="LogInspector.html">LogInspector</a>>}</span></h3><div class="description"><p>initiate inspector instance and return</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>driver</code></td><td class="type"></td><td class="description last"></td></tr><tr><td class="name"><code>browsingContextIds</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="bidi_logInspector.js.html">bidi/logInspector.js</a>, <a href="bidi_logInspector.js.html#line355">line 355</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;<a href="LogInspector.html">LogInspector</a>></span></dd></dl></div><h3 class="name has-anchor" id="getLogger"><span class="type-signature"></span>getLogger<span class="signature">(name)</span><span class="type-signature"> &rarr; (non-null) {<a href="Logger.html">Logger</a>}</span></h3><div class="description"><p>Retrieves a named logger, creating it in the process. This function will implicitly create the requested logger, and any of its parents, if they do not yet exist.</p><p>The log level will be unspecified for newly created loggers. Use Logger#setLevel(level) to explicitly set a level.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>the logger's name.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line496">line 496</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the requested logger.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Logger.html">Logger</a></span></dd></dl></div><h3 class="name has-anchor" id="getLoopbackAddress"><span class="type-signature"></span>getLoopbackAddress<span class="signature">(family<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {string|undefined}</span></h3><div class="description"><p>Retrieves a loopback address for this machine.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>family</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">IPv4</td><td class="description last"><p>The IP family to retrieve. Defaults to &quot;IPv4&quot;.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_index.js.html">net/index.js</a>, <a href="net_index.js.html#line75">line 75</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The IP address or undefined if not available.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span> |<wbr> <span class="param-type">undefined</span></dd></dl></div><h3 class="name has-anchor" id="getRequestOptions"><span class="type-signature"></span>getRequestOptions<span class="signature">(aUrl)</span><span class="type-signature"> &rarr; {<a href="global.html#RequestOptions">RequestOptions</a>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aUrl</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The request URL to parse.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line47">line 47</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>if the URL does not include a hostname.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The request options.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#RequestOptions">RequestOptions</a></span></dd></dl></div><h3 class="name has-anchor" id="getStatus"><span class="type-signature"></span>getStatus<span class="signature">(url)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!Object>}</span></h3><div class="description"><p>Queries a WebDriver server for its current status.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Base URL of the server to query.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_util.js.html">http/util.js</a>, <a href="http_util.js.html#line37">line 37</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that resolves with a hash of the server status.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!Object></span></dd></dl></div><h3 class="name has-anchor" id="getTestHook"><span class="type-signature"></span>getTestHook<span class="signature">(name)</span><span class="type-signature"> &rarr; (non-null) {function}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line537">line 537</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><div class="param-desc"><span class="param-type">TypeError</span></div></div><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">function</span></dd></dl></div><h3 class="name has-anchor" id="headersToString"><span class="type-signature"></span>headersToString<span class="signature">(headers<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Converts a headers map to a HTTP header block string.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>headers</code></td><td class="type"><span class="param-type">Map.&lt;string, string></span></td><td class="description last"><p>The map to convert.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line72">line 72</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The headers as a string.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="ignore"><span class="type-signature"></span>ignore<span class="signature">(predicateFn)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Returns an object with wrappers for the standard mocha/jasmine test functions: <code>describe</code> and <code>it</code>, which will redirect to <code>xdescribe</code> and <code>xit</code>, respectively, if provided predicate function returns false.</p><p>Sample usage:</p><pre><code>const {Browser} = require('selenium-webdriver');
const {suite, ignore} = require('selenium-webdriver/testing');
suite(function(env) {
// Skip tests the current environment targets Chrome.
ignore(env.browsers(Browser.CHROME)).
describe('something', async function() {
let driver = await env.builder().build();
// etc.
});
});
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>predicateFn</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"><p>A predicate to call to determine if the test should be suppressed. This function MUST be synchronous.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line497">line 497</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>an object with wrapped versions of the <code>describe</code> and <code>it</code> test functions.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="init"><span class="type-signature"></span>init<span class="signature">(force<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Initializes this module by determining which browsers a test suite should run against. The default behavior is to run tests against every browser with a WebDriver executables (chromedriver, firefoxdriver, etc.) are installed on the system by <code>PATH</code>.</p><p>Specific browsers can be selected at runtime by setting the <code>SELENIUM_BROWSER</code> environment variable. This environment variable has the same semantics as with the WebDriver Builder, except you may use a comma-delimited list to run against multiple browsers:</p><pre><code>SELENIUM_BROWSER=chrome,firefox mocha --recursive tests/
</code></pre><p>The <code>SELENIUM_REMOTE_URL</code> environment variable may be set to configure tests to run against an externally managed (usually remote) Selenium server. When set, the WebDriver builder provided by each TestEnvironment will automatically be configured to use this server instead of starting a browser driver locally.</p><p>The <code>SELENIUM_SERVER_JAR</code> environment variable may be set to the path of a standalone Selenium server on the local machine that should be used for WebDriver sessions. When set, the WebDriver builder provided by each TestEnvironment will automatically be configured to use the started server instead of using a browser driver directly. It should only be necessary to set the <code>SELENIUM_SERVER_JAR</code> when testing locally against browsers not natively supported by the WebDriver Builder.</p><p>When either of the <code>SELENIUM_REMOTE_URL</code> or <code>SELENIUM_SERVER_JAR</code> environment variables are set, the <code>SELENIUM_BROWSER</code> variable must also be set.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>force</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>whether to force this module to re-initialize and scan <code>process.env</code> again to determine which browsers to run tests against.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line206">line 206</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="installConsoleHandler"><span class="type-signature"></span>installConsoleHandler<span class="signature">()</span></h3><div class="description"><p>Installs the console log handler on the root logger.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line580">line 580</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="isErrorResponse"><span class="type-signature"></span>isErrorResponse<span class="signature">(data)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Tests if the given value is a valid error response object according to the W3C WebDriver spec.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">?</span></td><td class="description last"><p>The value to test.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_error.js.html">lib/error.js</a>, <a href="lib_error.js.html#line506">line 506</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://w3c.github.io/webdriver/webdriver-spec.html#protocol">https://w3c.github.io/webdriver/webdriver-spec.html#protocol</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Whether the given value data object is a valid error response.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isFree"><span class="type-signature"></span>isFree<span class="signature">(port, opt_host<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;boolean>}</span></h3><div class="description"><p>Tests if a port is free.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>port</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"></td><td class="description last"><p>The port to test.</p></td></tr><tr><td class="name"><code>opt_host</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The bound host to test the {@code port} against. Defaults to {@code INADDR_ANY}.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_portprober.js.html">net/portprober.js</a>, <a href="net_portprober.js.html#line30">line 30</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with whether the port is free.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="isId"><span class="type-signature"></span>isId<span class="signature">(obj)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>obj</code></td><td class="type"><span class="param-type">?</span></td><td class="description last"><p>the object to test.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webelement.js.html">lib/webelement.js</a>, <a href="lib_webelement.js.html#line35">line 35</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>whether the object is a valid encoded WebElement ID.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isIdle"><span class="type-signature"></span>isIdle<span class="signature">(actions<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>actions</code></td><td class="type"><span class="param-type">Array.&lt;!<a href="Action.html">Action</a>></span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_input.js.html">lib/input.js</a>, <a href="lib_input.js.html#line1006">line 1006</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isObject"><span class="type-signature"></span>isObject<span class="signature">(value)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Determines whether a {@code value} should be treated as an object.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>value</code></td><td class="type"><span class="param-type">?</span></td><td class="description last"><p>The value to test.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_util.js.html">lib/util.js</a>, <a href="lib_util.js.html#line25">line 25</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Whether the value is an object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isPromise"><span class="type-signature"></span>isPromise<span class="signature">(value)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Determines whether a {@code value} should be treated as a promise. Any object whose &quot;then&quot; property is a function will be considered a promise.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>value</code></td><td class="type"><span class="param-type">?</span></td><td class="description last"><p>The value to test.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_util.js.html">lib/util.js</a>, <a href="lib_util.js.html#line36">line 36</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Whether the value is a promise.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isRetryableNetworkError"><span class="type-signature"></span>isRetryableNetworkError<span class="signature">(err<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>err</code></td><td class="type"><span class="param-type">Error</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line323">line 323</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isSelenium3x"><span class="type-signature"></span>isSelenium3x<span class="signature">(seleniumStandalonePath)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>seleniumStandalonePath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>path to standalone server</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_util.js.html">remote/util.js</a>, <a href="remote_util.js.html#line36">line 36</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="legacyTimeout"><span class="type-signature"></span>legacyTimeout<span class="signature">(driver<span class="signature-attributes">non-null</span>, type, ms)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;void>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>driver</code></td><td class="type"><span class="param-type"><a href="WebDriver.html">WebDriver</a></span></td><td class="description last"></td></tr><tr><td class="name"><code>type</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>ms</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line2082">line 2082</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="load"><span class="type-signature"></span>load<span class="signature">(path)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!<a href="Zip.html">Zip</a>>}</span></h3><div class="description"><p>Asynchronously opens a zip archive.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>path</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>to the zip archive to load.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_zip.js.html">io/zip.js</a>, <a href="io_zip.js.html#line146">line 146</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>a promise that will resolve with the opened archive.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!<a href="Zip.html">Zip</a>></span></dd></dl></div><h3 class="name has-anchor" id="locate"><span class="type-signature"></span>locate<span class="signature">(filePath)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Locates a test resource.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>filePath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The file to locate from the root of the project.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_resources.js.html">lib/test/resources.js</a>, <a href="lib_test_resources.js.html#line33">line 33</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If the file does not exist.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The full path for the file, if it exists.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="locateWith"><span class="type-signature"></span>locateWith<span class="signature">(by)</span><span class="type-signature"> &rarr; {<a href="RelativeBy.html">RelativeBy</a>}</span></h3><div class="description"><p>Start searching for relative objects using search criteria with By.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>by</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>A By map that shows how to find the initial element</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_by.js.html">lib/by.js</a>, <a href="lib_by.js.html#line276">line 276</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="RelativeBy.html">RelativeBy</a></span></dd></dl></div><h3 class="name has-anchor" id="manual"><span class="type-signature"></span>manual<span class="signature">(options)</span><span class="type-signature"> &rarr; (non-null) {<a href="global.html#ManualConfig">ManualConfig</a>}</span></h3><div class="description"><p>Manually configures the browser proxy. The following options are supported:</p><ul><li><code>ftp</code>: Proxy host to use for FTP requests</li><li><code>http</code>: Proxy host to use for HTTP requests</li><li><code>https</code>: Proxy host to use for HTTPS requests</li><li><code>bypass</code>: A list of hosts requests should directly connect to, bypassing any other proxies for that request. May be specified as a comma separated string, or a list of strings.</li></ul><p>Behavior is undefined for FTP, HTTP, and HTTPS requests if the corresponding key is omitted from the configuration options.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Proxy configuration options.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line158">line 158</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new proxy configuration object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#ManualConfig">ManualConfig</a></span></dd></dl></div><h3 class="name has-anchor" id="map"><span class="type-signature">(async) </span>map<span class="signature">(array<span class="signature-attributes">non-null</span>, fn, self<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Calls a function for each element in an array and inserts the result into a new array, which is used as the fulfillment value of the promise returned by this function.</p><p>If the return value of the mapping function is a promise, this function will wait for it to be fulfilled before inserting it into the new array.</p><p>If the mapping function throws or returns a rejected promise, the promise returned by this function will be rejected with the same reason. Only the first failure will be reported; all subsequent errors will be silently ignored.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>array</code></td><td class="type"><span class="param-type">Array.&lt;TYPE></span> |<wbr> <span class="param-type">IThenable.&lt;!Array.&lt;TYPE>></span></td><td class="attributes"></td><td class="description last"><p>The array to iterate over, or a promise that will resolve to said array.</p></td></tr><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The function to call for each element in the array. This function should expect three arguments (the element, the index, and the array itself.</p></td></tr><tr><td class="name"><code>self</code></td><td class="type"><span class="param-type">SELF</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The object to be used as the value of 'this' within <code>fn</code>.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line129">line 129</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="mkdir"><span class="type-signature"></span>mkdir<span class="signature">(aPath)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Creates a directory.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The directory path.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line261">line 261</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with the path of the created directory.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="mkdirp"><span class="type-signature"></span>mkdirp<span class="signature">(dir)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Recursively creates a directory and any ancestors that do not yet exist.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>dir</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The directory path to create.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line280">line 280</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with the path of the created directory.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="of"><span class="type-signature"></span>of<span class="signature">(&hellip;var_args)</span><span class="type-signature"> &rarr; (non-null) {<a href="Build.html">Build</a>}</span></h3><div class="description"><p>Creates a build of the listed targets.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>var_args</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;repeatable><br></td><td class="description last"><p>The targets to build.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_build.js.html">lib/test/build.js</a>, <a href="lib_test_build.js.html#line136">line 136</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If not running in dev mode.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new build.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Build.html">Build</a></span></dd></dl></div><h3 class="name has-anchor" id="pac"><span class="type-signature"></span>pac<span class="signature">(proxyAutoconfigUrl)</span><span class="type-signature"> &rarr; (non-null) {<a href="global.html#PacConfig">PacConfig</a>}</span></h3><div class="description"><p>Configures WebDriver to configure the browser proxy using the PAC file at the given URL.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>proxyAutoconfigUrl</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>URL for the PAC proxy to use.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line202">line 202</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new proxy configuration object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#PacConfig">PacConfig</a></span></dd></dl></div><h3 class="name has-anchor" id="pad"><span class="type-signature"></span>pad<span class="signature">(n)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Pads a number to ensure it has a minimum of two digits.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>n</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>the number to be padded.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line506">line 506</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the padded number.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="parseHttpResponse"><span class="type-signature"></span>parseHttpResponse<span class="signature">(command<span class="signature-attributes">non-null</span>, httpResponse<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Callback used to parse <a href="Response.html">Response</a> objects from a <a href="HttpClient.html">HttpClient</a>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>command</code></td><td class="type"><span class="param-type">cmd.<wbr>Command</span></td><td class="description last"><p>The command the response is for.</p></td></tr><tr><td class="name"><code>httpResponse</code></td><td class="type"><span class="param-type"><a href="Response.html">Response</a></span></td><td class="description last"><p>The HTTP response to parse.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line503">line 503</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If the HTTP response is an error.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type"><a href="WebDriverError.html">WebDriverError</a></span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>An object describing the parsed response. This object will have two fields: <code>isW3C</code> indicates whether the response looks like it came from a remote end that conforms with the W3C WebDriver spec, and <code>value</code>, the actual response value.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="projectRoot"><span class="type-signature"></span>projectRoot<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_build.js.html">lib/test/build.js</a>, <a href="lib_test_build.js.html#line145">line 145</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If not running in dev mode.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Absolute path of the project's root directory.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="read"><span class="type-signature"></span>read<span class="signature">(aPath)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!Buffer>}</span></h3><div class="description"><p>Reads the contents of the given file.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Path to the file to read.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line238">line 238</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve with a buffer of the file contents.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!Buffer></span></dd></dl></div><h3 class="name has-anchor" id="removeConsoleHandler"><span class="type-signature"></span>removeConsoleHandler<span class="signature">(opt_logger<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Removes the console log handler from the given logger.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>opt_logger</code></td><td class="type"><span class="param-type"><a href="Logger.html">Logger</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The logger to remove the handler from; defaults to the root logger.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_logging.js.html">lib/logging.js</a>, <a href="lib_logging.js.html#line572">line 572</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li>exports.addConsoleHandler</li></ul></dd></div></dl><h3 class="name has-anchor" id="requireAtom"><span class="type-signature"></span>requireAtom<span class="signature">(module, bazelTarget)</span><span class="type-signature"> &rarr; (non-null) {function}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>module</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr><tr><td class="name"><code>bazelTarget</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line48">line 48</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">function</span></dd></dl></div><h3 class="name has-anchor" id="resolveCommandLineFlags"><span class="type-signature"></span>resolveCommandLineFlags<span class="signature">(args<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!Array.&lt;string>>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>args</code></td><td class="type"><span class="param-type">Array.&lt;<a href="global.html#CommandLineFlag">CommandLineFlag</a>></span> |<wbr> <span class="param-type">IThenable.&lt;!Array.&lt;<a href="global.html#CommandLineFlag">CommandLineFlag</a>>></span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_index.js.html">remote/index.js</a>, <a href="remote_index.js.html#line299">line 299</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!Array.&lt;string>></span></dd></dl></div><h3 class="name has-anchor" id="resolveWaitMessage"><span class="type-signature"></span>resolveWaitMessage<span class="signature">(message<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Resolves a wait message from either a function or a string.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>message</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">function</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>An optional message to use if the wait times out.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line237">line 237</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The resolved message</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="rmDir"><span class="type-signature"></span>rmDir<span class="signature">(dirPath)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Recursively removes a directory and all of its contents. This is equivalent to {@code rm -rf} on a POSIX system.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>dirPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Path to the directory to remove.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line52">line 52</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise to be resolved when the operation has completed.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="sendIndex"><span class="type-signature"></span>sendIndex<span class="signature">(request<span class="signature-attributes">non-null</span>, response<span class="signature-attributes">non-null</span>)</span></h3><div class="description"><p>Responds to a request for the file server's main index.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>request</code></td><td class="type"><span class="param-type">http.<wbr>ServerRequest</span></td><td class="description last"><p>The request object.</p></td></tr><tr><td class="name"><code>response</code></td><td class="type"><span class="param-type">http.<wbr>ServerResponse</span></td><td class="description last"><p>The response object.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_fileserver.js.html">lib/test/fileserver.js</a>, <a href="lib_test_fileserver.js.html#line304">line 304</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="sendRequest"><span class="type-signature"></span>sendRequest<span class="signature">(options<span class="signature-attributes">non-null</span>, onOk, onError, opt_data<span class="signature-attributes">opt, nullable</span>, opt_proxy<span class="signature-attributes">opt, nullable</span>, opt_retries<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Sends a single HTTP request.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>The request options.</p></td></tr><tr><td class="name"><code>onOk</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The function to call if the request succeeds.</p></td></tr><tr><td class="name"><code>onError</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The function to call if the request fails.</p></td></tr><tr><td class="name"><code>opt_data</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br>&lt;nullable><br></td><td class="description last"><p>The data to send with the request.</p></td></tr><tr><td class="name"><code>opt_proxy</code></td><td class="type"><span class="param-type"><a href="global.html#RequestOptions">RequestOptions</a></span></td><td class="attributes">&lt;optional><br>&lt;nullable><br></td><td class="description last"><p>The proxy server to use for the request.</p></td></tr><tr><td class="name"><code>opt_retries</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The current number of retries.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line179">line 179</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="serialize"><span class="type-signature"></span>serialize<span class="signature">(caps<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Object.&lt;string, ?>}</span></h3><div class="description"><p>Serializes a capabilities object. This is defined as a standalone function so it may be type checked (where Capabilities[Symbols.serialize] has type checking disabled since it is defined with [] access on a struct).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>caps</code></td><td class="type"><span class="param-type"><a href="Capabilities.html">Capabilities</a></span></td><td class="description last"><p>The capabilities to serialize.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line534">line 534</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The JSON representation of this instance. Note, the returned object may contain nested promised values.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object.&lt;string, ?></span></dd></dl></div><h3 class="name has-anchor" id="setFileDetector"><span class="type-signature"></span>setFileDetector<span class="signature">(detector)</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>detector</code></td><td class="type"><span class="param-type">input.<wbr>FileDetector</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line87">line 87</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="shouldRetryRequest"><span class="type-signature"></span>shouldRetryRequest<span class="signature">(retries<span class="signature-attributes">non-null</span>, err<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>A retry is sometimes needed on Windows where we may quickly run out of ephemeral ports. A more robust solution is bumping the MaxUserPort setting as described here: http://msdn.microsoft.com/en-us/library/aa560610%28v=bts.20%29.aspx</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>retries</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"></td></tr><tr><td class="name"><code>err</code></td><td class="type"><span class="param-type">Error</span></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line315">line 315</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="socks"><span class="type-signature"></span>socks<span class="signature">(socksProxy, socksVersion<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="global.html#ManualConfig">ManualConfig</a>}</span></h3><div class="description"><p>Creates a proxy configuration for a socks proxy.</p><p><strong>Example:</strong></p><pre><code>const {Capabilities} = require('selenium-webdriver');
const proxy = require('selenium-webdriver/lib/proxy');
let capabilities = new Capabilities();
capabilities.setProxy(proxy.socks('localhost:1234'));
// Or, to include authentication.
capabilities.setProxy(proxy.socks('bob:password@localhost:1234'));
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>socksProxy</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The proxy host, in the form <code>hostname:port</code>.</p></td></tr><tr><td class="name"><code>socksVersion</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>The SOCKS proxy version.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line188">line 188</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://en.wikipedia.org/wiki/SOCKS">https://en.wikipedia.org/wiki/SOCKS</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new proxy configuration object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#ManualConfig">ManualConfig</a></span></dd></dl></div><h3 class="name has-anchor" id="splitHostAndPort"><span class="type-signature"></span>splitHostAndPort<span class="signature">(hostport)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Splits a hostport string, e.g. &quot;www.example.com:80&quot;, into its component parts.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>hostport</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The string to split.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="net_index.js.html">net/index.js</a>, <a href="net_index.js.html#line87">line 87</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A host and port. If no port is present in the argument <code>hostport</code>, port is null.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="stalenessOf"><span class="type-signature"></span>stalenessOf<span class="signature">(element)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the given element to become stale. An element is considered stale once it is removed from the DOM, or a new page has loaded.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>element</code></td><td class="type"></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line266">line 266</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="startSeleniumServer"><span class="type-signature"></span>startSeleniumServer<span class="signature">(jar)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Starts an instance of the Selenium server if not yet running.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>jar</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Path to the server jar to use.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line62">line 62</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the server's address once started.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="stat"><span class="type-signature"></span>stat<span class="signature">(aPath)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!fs.Stats>}</span></h3><div class="description"><p>Calls <code>stat(2)</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The path to stat.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line154">line 154</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the file stats.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!fs.Stats></span></dd></dl></div><h3 class="name has-anchor" id="suite"><span class="type-signature"></span>suite<span class="signature">(fn, options<span class="signature-attributes">opt</span>)</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>The top level suite function.</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">testing.<wbr>SuiteOptions</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Suite specific options.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_index.js.html">lib/test/index.js</a>, <a href="lib_test_index.js.html#line31">line 31</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="suite"><span class="type-signature"></span>suite<span class="signature">(fn, options<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Defines a test suite by calling the provided function once for each of the target browsers. If a suite is not limited to a specific set of browsers in the provided suite options, the suite will be configured to run against each of the runtime target browsers.</p><p>Sample usage:</p><pre><code>const {By, Key, until} = require('selenium-webdriver');
const {suite} = require('selenium-webdriver/testing');
suite(function(env) {
describe('Google Search', function() {
let driver;
before(async function() {
driver = await env.builder().build();
});
after(() =&gt; driver.quit());
it('demo', async function() {
await driver.get('http://www.google.com/ncr');
let q = await driver.findElement(By.name('q'));
await q.sendKeys('webdriver', Key.RETURN);
await driver.wait(
until.titleIs('webdriver - Google Search'), 1000);
});
});
});
</code></pre><p>By default, this example suite will run against every WebDriver-enabled browser on the current system. Alternatively, the <code>SELENIUM_BROWSER</code> environment variable may be used to run against a specific browser:</p><pre><code>SELENIUM_BROWSER=firefox mocha -t 120000 example_test.js
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>fn</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="description last"><p>the function to call to build the test suite.</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type"><a href="SuiteOptions.html">SuiteOptions</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>configuration options.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="testing_index.js.html">testing/index.js</a>, <a href="testing_index.js.html#line421">line 421</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="system"><span class="type-signature"></span>system<span class="signature">()</span><span class="type-signature"> &rarr; (non-null) {<a href="global.html#Config">Config</a>}</span></h3><div class="description"><p>Configures WebDriver to use the current system's proxy.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_proxy.js.html">lib/proxy.js</a>, <a href="lib_proxy.js.html#line210">line 210</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A new proxy configuration object.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#Config">Config</a></span></dd></dl></div><h3 class="name has-anchor" id="thenFinally"><span class="type-signature">(async) </span>thenFinally<span class="signature">(promise<span class="signature-attributes">non-null</span>, callback)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;R>}</span></h3><div class="description"><p>Registers a listener to invoke when a promise is resolved, regardless of whether the promise's value was successfully computed. This function is synonymous with the {@code finally} clause in a synchronous API:</p><pre><code>// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().finally(cleanUp);
</code></pre><p><strong>Note:</strong> similar to the {@code finally} clause, if the registered callback returns a rejected promise or throws an error, it will silently replace the rejection error (if any) from this promise:</p><pre><code>try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
let p = Promise.reject(Error('one'));
promise.finally(p, function() {
throw Error('two'); // Hides Error: one
});
</code></pre></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>promise</code></td><td class="type"><span class="param-type">IThenable.&lt;?></span></td><td class="description last"><p>The promise to add the listener to.</p></td></tr><tr><td class="name"><code>callback</code></td><td class="type"><span class="param-type">function</span></td><td class="description last"><p>The function to call when the promise is resolved.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_promise.js.html">lib/promise.js</a>, <a href="lib_promise.js.html#line98">line 98</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will be resolved with the callback result.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;R></span></dd></dl></div><h3 class="name has-anchor" id="throwDecodedError"><span class="type-signature"></span>throwDecodedError<span class="signature">(data)</span></h3><div class="description"><p>Throws an error coded from the W3C protocol. A generic error will be thrown if the provided <code>data</code> is not a valid encoded error.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>The error data to decode.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_error.js.html">lib/error.js</a>, <a href="lib_error.js.html#line518">line 518</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://w3c.github.io/webdriver/webdriver-spec.html#protocol">https://w3c.github.io/webdriver/webdriver-spec.html#protocol</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>the decoded error.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type"><a href="WebDriverError.html">WebDriverError</a></span></dd></dl></dt><dd></dd></dl></div><h3 class="name has-anchor" id="titleContains"><span class="type-signature"></span>titleContains<span class="signature">(substr)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's title to contain the given substring.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>substr</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The substring that should be present in the page title.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line154">line 154</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="titleIs"><span class="type-signature"></span>titleIs<span class="signature">(title)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's title to match the given value.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>title</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The expected page title.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line138">line 138</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="titleMatches"><span class="type-signature"></span>titleMatches<span class="signature">(regex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's title to match the given regular expression.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>regex</code></td><td class="type"><span class="param-type">RegExp</span></td><td class="description last"><p>The regular expression to test against.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line169">line 169</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="tmpDir"><span class="type-signature"></span>tmpDir<span class="signature">()</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line181">line 181</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://www.npmjs.org/package/tmp">https://www.npmjs.org/package/tmp</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the path to a temporary directory.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="tmpFile"><span class="type-signature"></span>tmpFile<span class="signature">(opt_options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>opt_options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Temporary file options.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line190">line 190</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-see bold">See</dt><dd class="tag-see"><ul><li><a href="https://www.npmjs.org/package/tmp">https://www.npmjs.org/package/tmp</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for the path to a temporary file.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="toExecuteAtomCommand"><span class="type-signature"></span>toExecuteAtomCommand<span class="signature">(command<span class="signature-attributes">non-null</span>, atom, &hellip;params)</span><span class="type-signature"> &rarr; (non-null) {<a href="Command.html">Command</a>}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>command</code></td><td class="type"><span class="param-type">cmd.<wbr>Command</span></td><td class="attributes"></td><td class="description last"><p>The initial command.</p></td></tr><tr><td class="name"><code>atom</code></td><td class="type"><span class="param-type"><a href="global.html#Atom">Atom</a></span></td><td class="attributes"></td><td class="description last"><p>The name of the atom to execute.</p></td></tr><tr><td class="name"><code>params</code></td><td class="type"></td><td class="attributes">&lt;repeatable><br></td><td class="description last"></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line177">line 177</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The transformed command to execute.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Command.html">Command</a></span></dd></dl></div><h3 class="name has-anchor" id="toMap"><span class="type-signature"></span>toMap<span class="signature">(hash<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {Map.&lt;string, ?>}</span></h3><div class="description"><p>Converts a generic hash object to a map.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>hash</code></td><td class="type"><span class="param-type">Object.&lt;string, ?></span></td><td class="description last"><p>The hash object.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_capabilities.js.html">lib/capabilities.js</a>, <a href="lib_capabilities.js.html#line221">line 221</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The converted map.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Map.&lt;string, ?></span></dd></dl></div><h3 class="name has-anchor" id="toWireValue"><span class="type-signature">(async) </span>toWireValue<span class="signature">(obj)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;?>}</span></h3><div class="description"><p>Converts an object to its JSON representation in the WebDriver wire protocol. When converting values of type object, the following steps will be taken:</p><ol><li>if the object is a WebElement, the return value will be the element's server ID</li><li>if the object defines a Symbols.serialize method, this algorithm will be recursively applied to the object's serialized representation</li><li>if the object provides a "toJSON" function, this algorithm will recursively be applied to the result of that function</li><li>otherwise, the value of each key will be recursively converted according to the rules above.</li></ol></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>obj</code></td><td class="type"><span class="param-type">*</span></td><td class="description last"><p>The object to convert.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_webdriver.js.html">lib/webdriver.js</a>, <a href="lib_webdriver.js.html#line148">line 148</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve to the input value's JSON representation.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;?></span></dd></dl></div><h3 class="name has-anchor" id="tryParse"><span class="type-signature"></span>tryParse<span class="signature">(str)</span><span class="type-signature"> &rarr; {?}</span></h3><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>str</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line482">line 482</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">?</span></dd></dl></div><h3 class="name has-anchor" id="unlink"><span class="type-signature"></span>unlink<span class="signature">(aPath)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Deletes a name from the filesystem and possibly the file it refers to. Has no effect if the file does not exist.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The path to remove.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line164">line 164</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise for when the file has been removed.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="unzip"><span class="type-signature"></span>unzip<span class="signature">(src, dst)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;string>}</span></h3><div class="description"><p>Asynchronously unzips an archive file.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>src</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>path to the source file to unzip.</p></td></tr><tr><td class="name"><code>dst</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>path to the destination directory.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_zip.js.html">io/zip.js</a>, <a href="io_zip.js.html#line161">line 161</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>a promise that will resolve with <code>dst</code> once the archive has been unzipped.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="urlContains"><span class="type-signature"></span>urlContains<span class="signature">(substrUrl)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's url to contain the given substring.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>substrUrl</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The substring that should be present in the current URL.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line200">line 200</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="urlIs"><span class="type-signature"></span>urlIs<span class="signature">(url)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's url to match the given value.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>The expected page url.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line184">line 184</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="urlMatches"><span class="type-signature"></span>urlMatches<span class="signature">(regex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="Condition.html">Condition</a>.&lt;boolean>}</span></h3><div class="description"><p>Creates a condition that will wait for the current page's url to match the given regular expression.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>regex</code></td><td class="type"><span class="param-type">RegExp</span></td><td class="description last"><p>The regular expression to test against.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_until.js.html">lib/until.js</a>, <a href="lib_until.js.html#line215">line 215</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The new condition.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="Condition.html">Condition</a>.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="waitForServer"><span class="type-signature"></span>waitForServer<span class="signature">(url, timeout, opt_cancelToken<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Waits for a WebDriver server to be healthy and accepting requests.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Base URL of the server to query.</p></td></tr><tr><td class="name"><code>timeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"></td><td class="description last"><p>How long to wait for the server.</p></td></tr><tr><td class="name"><code>opt_cancelToken</code></td><td class="type"><span class="param-type">Promise</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>A promise used as a cancellation signal: if resolved before the server is ready, the wait will be terminated early with a CancellationError.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_util.js.html">http/util.js</a>, <a href="http_util.js.html#line56">line 56</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve when the server is ready, or if the wait is cancelled.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="waitForUrl"><span class="type-signature"></span>waitForUrl<span class="signature">(url, timeout, opt_cancelToken<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Polls a URL with GET requests until it returns a 2xx response or the timeout expires.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>url</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>The URL to poll.</p></td></tr><tr><td class="name"><code>timeout</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"></td><td class="description last"><p>How long to wait, in milliseconds.</p></td></tr><tr><td class="name"><code>opt_cancelToken</code></td><td class="type"><span class="param-type">Promise</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>A promise used as a cancellation signal: if resolved before the a 2xx response is received, the wait will be terminated early with a CancellationError.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_util.js.html">http/util.js</a>, <a href="http_util.js.html#line112">line 112</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve when a 2xx is received from the given URL, or if the wait is cancelled.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h3 class="name has-anchor" id="walkDir"><span class="type-signature"></span>walkDir<span class="signature">(rootPath)</span><span class="type-signature"> &rarr; (non-null) {Promise.&lt;!Array.&lt;{<a href="global.html#path">path</a>: string, dir: boolean}>>}</span></h3><div class="description"><p>Recursively walks a directory, returning a promise that will resolve with a list of all files/directories seen.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>rootPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>the directory to walk.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line316">line 316</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>a promise that will resolve with a list of entries seen. For each entry, the recorded path will be relative to <code>rootPath</code>.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;!Array.&lt;{<a href="global.html#path">path</a>: string, dir: boolean}>></span></dd></dl></div><h3 class="name has-anchor" id="whereIs"><span class="type-signature"></span>whereIs<span class="signature">(filePath)</span><span class="type-signature"> &rarr; {string}</span></h3><div class="description"><p>Builds the URL for a file in the //common/src/web directory of the Selenium client.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>filePath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>A path relative to //common/src/web to compute a URL for.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_test_fileserver.js.html">lib/test/fileserver.js</a>, <a href="lib_test_fileserver.js.html#line367">line 367</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If the server is not running.</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The formatted URL.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">string</span></dd></dl></div><h3 class="name has-anchor" id="withTagName"><span class="type-signature"></span>withTagName<span class="signature">(tagName)</span></h3><div class="description"><p>Start Searching for relative objects using the value returned from <code>By.tagName()</code>.</p><p>Note: this method will likely be removed in the future please use <code>locateWith</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>tagName</code></td><td class="type"><span class="param-type"><a href="By.html">By</a></span></td><td class="description last"><p>The value returned from calling By.tagName()</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_by.js.html">lib/by.js</a>, <a href="lib_by.js.html#line267">line 267</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong></div><h3 class="name has-anchor" id="write"><span class="type-signature"></span>write<span class="signature">(aPath, data)</span><span class="type-signature"> &rarr; (non-null) {Promise}</span></h3><div class="description"><p>Writes to a file.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>aPath</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Path to the file to write to.</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">Buffer</span></td><td class="description last"><p>The data to write.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="io_index.js.html">io/index.js</a>, <a href="io_index.js.html#line250">line 250</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>A promise that will resolve when the operation has completed.</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise</span></dd></dl></div><h2 id="type-definitions" class="subsection-title has-anchor">Type Definitions</h2><h3 class="name has-anchor" id="ByHash">ByHash</h3><div class="description"><p>Short-hand expressions for the primary element locator strategies. For example the following two statements are equivalent:</p><pre><code>var e1 = driver.findElement(By.id('foo'));
var e2 = driver.findElement({id: 'foo'});
</code></pre><p>Care should be taken when using JavaScript minifiers (such as the Closure compiler), as locator hashes will always be parsed using the un-obfuscated properties listed.</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span> |<wbr> <span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_by.js.html">lib/by.js</a>, <a href="lib_by.js.html#line24">line 24</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CommandLineFlag">CommandLineFlag</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span> |<wbr> <span class="param-type">!IThenable.&lt;string></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_index.js.html">remote/index.js</a>, <a href="remote_index.js.html#line42">line 42</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CommandSpec">CommandSpec</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line164">line 164</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="CommandTransformer"><span class="type-signature"></span>CommandTransformer<span class="signature">()</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="lib_http.js.html">lib/http.js</a>, <a href="lib_http.js.html#line167">line 167</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="RequestOptions">RequestOptions</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="http_index.js.html">http/index.js</a>, <a href="http_index.js.html#line40">line 40</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="StdIoOptions">StdIoOptions</h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">string</span> |<wbr> <span class="param-type">!Array.&lt;(string|number|!stream.Stream|null|undefined)></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="remote_index.js.html">remote/index.js</a>, <a href="remote_index.js.html#line37">line 37</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">Selenium WebDriver JavaScript API</a><div class="mobile-nav-links"><div class="navbar-item"><a id="github-mobile" href="https://github.com/SeleniumHQ/selenium" target="">GitHub</a></div><div class="navbar-item"><a id="npm-mobile" href="https://www.npmjs.com/package/selenium-webdriver" target="">npm</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome.html">selenium-webdriver/chrome</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium.html">selenium-webdriver/chromium</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge.html">selenium-webdriver/edge</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox.html">selenium-webdriver/firefox</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie.html">selenium-webdriver/ie</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari.html">selenium-webdriver/safari</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="Actions.html">Actions</a></div><div class="sidebar-section-children"><a href="Alert.html">Alert</a></div><div class="sidebar-section-children"><a href="AlertPromise.html">AlertPromise</a></div><div class="sidebar-section-children"><a href="ArgumentValue.html">ArgumentValue</a></div><div class="sidebar-section-children"><a href="BaseLogEntry.html">BaseLogEntry</a></div><div class="sidebar-section-children"><a href="BaseParameters.html">BaseParameters</a></div><div class="sidebar-section-children"><a href="BeforeRequestSent.html">BeforeRequestSent</a></div><div class="sidebar-section-children"><a href="BoxClipRectangle.html">BoxClipRectangle</a></div><div class="sidebar-section-children"><a href="global.html#Browser">Browser</a></div><div class="sidebar-section-children"><a href="BrowsingContext.html">BrowsingContext</a></div><div class="sidebar-section-children"><a href="BrowsingContextInfo.html">BrowsingContextInfo</a></div><div class="sidebar-section-children"><a href="BrowsingContextInspector.html">BrowsingContextInspector</a></div><div class="sidebar-section-children"><a href="BrowsingContextPartitionDescriptor.html">BrowsingContextPartitionDescriptor</a></div><div class="sidebar-section-children"><a href="Build.html">Build</a></div><div class="sidebar-section-children"><a href="Builder.html">Builder</a></div><div class="sidebar-section-children"><a href="By.html">By</a></div><div class="sidebar-section-children"><a href="BytesValue.html">BytesValue</a></div><div class="sidebar-section-children"><a href="Capabilities.html">Capabilities</a></div><div class="sidebar-section-children"><a href="CaptureScreenshotParameters.html">CaptureScreenshotParameters</a></div><div class="sidebar-section-children"><a href="ChannelValue.html">ChannelValue</a></div><div class="sidebar-section-children"><a href="ClientWindowInfo.html">ClientWindowInfo</a></div><div class="sidebar-section-children"><a href="ClipRectangle.html">ClipRectangle</a></div><div class="sidebar-section-children"><a href="Command.html">Command</a></div><div class="sidebar-section-children"><a href="Command.html">Command</a></div><div class="sidebar-section-children"><a href="Condition.html">Condition</a></div><div class="sidebar-section-children"><a href="ConsoleLogEntry.html">ConsoleLogEntry</a></div><div class="sidebar-section-children"><a href="ContinueRequestParameters.html">ContinueRequestParameters</a></div><div class="sidebar-section-children"><a href="ContinueResponseParameters.html">ContinueResponseParameters</a></div><div class="sidebar-section-children"><a href="Cookie.html">Cookie</a></div><div class="sidebar-section-children"><a href="CookieFilter.html">CookieFilter</a></div><div class="sidebar-section-children"><a href="CreateContextParameters.html">CreateContextParameters</a></div><div class="sidebar-section-children"><a href="Credential.html">Credential</a></div><div class="sidebar-section-children"><a href="DetachedShadowRootError.html">DetachedShadowRootError</a></div><div class="sidebar-section-children"><a href="Device.html">Device</a></div><div class="sidebar-section-children"><a href="DriverService.html">DriverService</a></div><div class="sidebar-section-children"><a href="DriverService.Builder.html">Builder</a></div><div class="sidebar-section-children"><a href="ElementClickInterceptedError.html">ElementClickInterceptedError</a></div><div class="sidebar-section-children"><a href="ElementClipRectangle.html">ElementClipRectangle</a></div><div class="sidebar-section-children"><a href="ElementNotInteractableError.html">ElementNotInteractableError</a></div><div class="sidebar-section-children"><a href="ElementNotSelectableError.html">ElementNotSelectableError</a></div><div class="sidebar-section-children"><a href="Entry.html">Entry</a></div><div class="sidebar-section-children"><a href="Environment.html">Environment</a></div><div class="sidebar-section-children"><a href="EvaluateResultException.html">EvaluateResultException</a></div><div class="sidebar-section-children"><a href="EvaluateResultSuccess.html">EvaluateResultSuccess</a></div><div class="sidebar-section-children"><a href="ExceptionDetails.html">ExceptionDetails</a></div><div class="sidebar-section-children"><a href="Executor.html">Executor</a></div><div class="sidebar-section-children"><a href="FetchError.html">FetchError</a></div><div class="sidebar-section-children"><a href="FetchTimingInfo.html">FetchTimingInfo</a></div><div class="sidebar-section-children"><a href="FileDetector.html">FileDetector</a></div><div class="sidebar-section-children"><a href="FileDetector.html">FileDetector</a></div><div class="sidebar-section-children"><a href="GenericLogEntry.html">GenericLogEntry</a></div><div class="sidebar-section-children"><a href="Header.html">Header</a></div><div class="sidebar-section-children"><a href="HttpClient.html">HttpClient</a></div><div class="sidebar-section-children"><a href="HttpResponse.html">HttpResponse</a></div><div class="sidebar-section-children"><a href="Index_.html">Index</a></div><div class="sidebar-section-children"><a href="Initiator.html">Initiator</a></div><div class="sidebar-section-children"><a href="Input.html">Input</a></div><div class="sidebar-section-children"><a href="InsecureCertificateError.html">InsecureCertificateError</a></div><div class="sidebar-section-children"><a href="InvalidArgumentError.html">InvalidArgumentError</a></div><div class="sidebar-section-children"><a href="InvalidCharacterError.html">InvalidCharacterError</a></div><div class="sidebar-section-children"><a href="InvalidCookieDomainError.html">InvalidCookieDomainError</a></div><div class="sidebar-section-children"><a href="InvalidCoordinatesError.html">InvalidCoordinatesError</a></div><div class="sidebar-section-children"><a href="InvalidElementStateError.html">InvalidElementStateError</a></div><div class="sidebar-section-children"><a href="InvalidSelectorError.html">InvalidSelectorError</a></div><div class="sidebar-section-children"><a href="JavascriptError.html">JavascriptError</a></div><div class="sidebar-section-children"><a href="JavascriptLogEntry.html">JavascriptLogEntry</a></div><div class="sidebar-section-children"><a href="Keyboard.html">Keyboard</a></div><div class="sidebar-section-children"><a href="Level.html">Level</a></div><div class="sidebar-section-children"><a href="LocalValue.html">LocalValue</a></div><div class="sidebar-section-children"><a href="Locator.html">Locator</a></div><div class="sidebar-section-children"><a href="LogManager.html">LogManager</a></div><div class="sidebar-section-children"><a href="Logger.html">Logger</a></div><div class="sidebar-section-children"><a href="Message.html">Message</a></div><div class="sidebar-section-children"><a href="MoveTargetOutOfBoundsError.html">MoveTargetOutOfBoundsError</a></div><div class="sidebar-section-children"><a href="NavigateResult.html">NavigateResult</a></div><div class="sidebar-section-children"><a href="NavigationInfo.html">NavigationInfo</a></div><div class="sidebar-section-children"><a href="Network.html">Network</a></div><div class="sidebar-section-children"><a href="NetworkInspector.html">NetworkInspector</a></div><div class="sidebar-section-children"><a href="NoSuchAlertError.html">NoSuchAlertError</a></div><div class="sidebar-section-children"><a href="NoSuchCookieError.html">NoSuchCookieError</a></div><div class="sidebar-section-children"><a href="NoSuchElementError.html">NoSuchElementError</a></div><div class="sidebar-section-children"><a href="NoSuchFrameError.html">NoSuchFrameError</a></div><div class="sidebar-section-children"><a href="NoSuchSessionError.html">NoSuchSessionError</a></div><div class="sidebar-section-children"><a href="NoSuchShadowRootError.html">NoSuchShadowRootError</a></div><div class="sidebar-section-children"><a href="NoSuchWindowError.html">NoSuchWindowError</a></div><div class="sidebar-section-children"><a href="PartialCookie.html">PartialCookie</a></div><div class="sidebar-section-children"><a href="PartitionDescriptor.html">PartitionDescriptor</a></div><div class="sidebar-section-children"><a href="PartitionKey.html">PartitionKey</a></div><div class="sidebar-section-children"><a href="Pointer.html">Pointer</a></div><div class="sidebar-section-children"><a href="Preferences.html">Preferences</a></div><div class="sidebar-section-children"><a href="PrintResult.html">PrintResult</a></div><div class="sidebar-section-children"><a href="ProvideResponseParameters.html">ProvideResponseParameters</a></div><div class="sidebar-section-children"><a href="RealmInfo.html">RealmInfo</a></div><div class="sidebar-section-children"><a href="ReferenceValue.html">ReferenceValue</a></div><div class="sidebar-section-children"><a href="RegExpValue.html">RegExpValue</a></div><div class="sidebar-section-children"><a href="RelativeBy.html">RelativeBy</a></div><div class="sidebar-section-children"><a href="RemoteValue.html">RemoteValue</a></div><div class="sidebar-section-children"><a href="Request.html">Request</a></div><div class="sidebar-section-children"><a href="RequestData.html">RequestData</a></div><div class="sidebar-section-children"><a href="Response.html">Response</a></div><div class="sidebar-section-children"><a href="ResponseData.html">ResponseData</a></div><div class="sidebar-section-children"><a href="ResponseStarted.html">ResponseStarted</a></div><div class="sidebar-section-children"><a href="Result.html">Result</a></div><div class="sidebar-section-children"><a href="ScriptManager.html">ScriptManager</a></div><div class="sidebar-section-children"><a href="ScriptTimeoutError.html">ScriptTimeoutError</a></div><div class="sidebar-section-children"><a href="Select.html">Select</a></div><div class="sidebar-section-children"><a href="SeleniumServer.html">SeleniumServer</a></div><div class="sidebar-section-children"><a href="SerializationOptions.html">SerializationOptions</a></div><div class="sidebar-section-children"><a href="Server.html">Server</a></div><div class="sidebar-section-children"><a href="Session.html">Session</a></div><div class="sidebar-section-children"><a href="SessionNotCreatedError.html">SessionNotCreatedError</a></div><div class="sidebar-section-children"><a href="ShadowRoot.html">ShadowRoot</a></div><div class="sidebar-section-children"><a href="ShadowRootPromise.html">ShadowRootPromise</a></div><div class="sidebar-section-children"><a href="Source.html">Source</a></div><div class="sidebar-section-children"><a href="StaleElementReferenceError.html">StaleElementReferenceError</a></div><div class="sidebar-section-children"><a href="Storage.html">Storage</a></div><div class="sidebar-section-children"><a href="StorageKeyPartitionDescriptor.html">StorageKeyPartitionDescriptor</a></div><div class="sidebar-section-children"><a href="TimeoutError.html">TimeoutError</a></div><div class="sidebar-section-children"><a href="UnableToCaptureScreenError.html">UnableToCaptureScreenError</a></div><div class="sidebar-section-children"><a href="UnableToSetCookieError.html">UnableToSetCookieError</a></div><div class="sidebar-section-children"><a href="UnexpectedAlertOpenError.html">UnexpectedAlertOpenError</a></div><div class="sidebar-section-children"><a href="UnknownCommandError.html">UnknownCommandError</a></div><div class="sidebar-section-children"><a href="UnknownMethodError.html">UnknownMethodError</a></div><div class="sidebar-section-children"><a href="UnsupportedOperationError.html">UnsupportedOperationError</a></div><div class="sidebar-section-children"><a href="UrlPattern.html">UrlPattern</a></div><div class="sidebar-section-children"><a href="VirtualAuthenticatorOptions.html">VirtualAuthenticatorOptions</a></div><div class="sidebar-section-children"><a href="WebDriver.html">WebDriver</a></div><div class="sidebar-section-children"><a href="WebDriverError.html">WebDriverError</a></div><div class="sidebar-section-children"><a href="WebElement.html">WebElement</a></div><div class="sidebar-section-children"><a href="WebElementCondition.html">WebElementCondition</a></div><div class="sidebar-section-children"><a href="WebElementPromise.html">WebElementPromise</a></div><div class="sidebar-section-children"><a href="Wheel.html">Wheel</a></div><div class="sidebar-section-children"><a href="WindowRealmInfo.html">WindowRealmInfo</a></div><div class="sidebar-section-children"><a href="Zip.html">Zip</a></div><div class="sidebar-section-children"><a href="createDriver-thenableWebDriverProxy.html">thenableWebDriverProxy</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chrome-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Extensions.html">Extensions</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_chromium-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_edge-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-AddonFormatError.html">AddonFormatError</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Channel.html">Channel</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_firefox-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_ie-ServiceBuilder.html">ServiceBuilder</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-Driver.html">Driver</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-Options.html">Options</a></div><div class="sidebar-section-children"><a href="module-selenium-webdriver_safari-ServiceBuilder.html">ServiceBuilder</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-interfaces"><div>Interfaces</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="Action.html">Action</a></div><div class="sidebar-section-children"><a href="Client.html">Client</a></div><div class="sidebar-section-children"><a href="global.html#Config">Config</a></div><div class="sidebar-section-children"><a href="Executor.html">Executor</a></div><div class="sidebar-section-children"><a href="ISelect.html">ISelect</a></div><div class="sidebar-section-children"><a href="IWebDriver.html">IWebDriver</a></div><div class="sidebar-section-children"><a href="global.html#ManualConfig">ManualConfig</a></div><div class="sidebar-section-children"><a href="Options.html">Options</a></div><div class="sidebar-section-children"><a href="Options.Cookie.html">Cookie</a></div><div class="sidebar-section-children"><a href="global.html#PacConfig">PacConfig</a></div><div class="sidebar-section-children"><a href="SeleniumServer.Options.html">Options</a></div><div class="sidebar-section-children"><a href="ServiceOptions.html">ServiceOptions</a></div><div class="sidebar-section-children"><a href="SuiteOptions.html">SuiteOptions</a></div><div class="sidebar-section-children"><a href="TargetBrowser.html">TargetBrowser</a></div><div class="sidebar-section-children"><a href="ThenableWebDriver.html">ThenableWebDriver</a></div><div class="sidebar-section-children"><a href="Timeouts.html">Timeouts</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#Atom">Atom</a></div><div class="sidebar-section-children"><a href="global.html#Browser">Browser</a></div><div class="sidebar-section-children"><a href="global.html#Button">Button</a></div><div class="sidebar-section-children"><a href="global.html#ByHash">ByHash</a></div><div class="sidebar-section-children"><a href="global.html#Capability">Capability</a></div><div class="sidebar-section-children"><a href="global.html#CommandLineFlag">CommandLineFlag</a></div><div class="sidebar-section-children"><a href="global.html#CommandSpec">CommandSpec</a></div><div class="sidebar-section-children"><a href="global.html#CommandTransformer">CommandTransformer</a></div><div class="sidebar-section-children"><a href="global.html#Config">Config</a></div><div class="sidebar-section-children"><a href="global.html#ErrorCode">ErrorCode</a></div><div class="sidebar-section-children"><a href="global.html#EvaluateResultType">EvaluateResultType</a></div><div class="sidebar-section-children"><a href="global.html#INTERNAL_COMPUTE_OFFSET_SCRIPT">INTERNAL_COMPUTE_OFFSET_SCRIPT</a></div><div class="sidebar-section-children"><a href="global.html#InterceptPhase">InterceptPhase</a></div><div class="sidebar-section-children"><a href="global.html#Key">Key</a></div><div class="sidebar-section-children"><a href="global.html#ManualConfig">ManualConfig</a></div><div class="sidebar-section-children"><a href="global.html#Name">Name</a></div><div class="sidebar-section-children"><a href="global.html#NonPrimitiveType">NonPrimitiveType</a></div><div class="sidebar-section-children"><a href="global.html#Origin">Origin</a></div><div class="sidebar-section-children"><a href="global.html#Origin">Origin</a></div><div class="sidebar-section-children"><a href="global.html#PacConfig">PacConfig</a></div><div class="sidebar-section-children"><a href="global.html#PageLoadStrategy">PageLoadStrategy</a></div><div class="sidebar-section-children"><a href="global.html#Platform">Platform</a></div><div class="sidebar-section-children"><a href="global.html#PrimitiveType">PrimitiveType</a></div><div class="sidebar-section-children"><a href="global.html#Protocol">Protocol</a></div><div class="sidebar-section-children"><a href="global.html#RealmType">RealmType</a></div><div class="sidebar-section-children"><a href="global.html#RemoteReferenceType">RemoteReferenceType</a></div><div class="sidebar-section-children"><a href="global.html#RemoteType">RemoteType</a></div><div class="sidebar-section-children"><a href="global.html#RequestOptions">RequestOptions</a></div><div class="sidebar-section-children"><a href="global.html#ResultOwnership">ResultOwnership</a></div><div class="sidebar-section-children"><a href="global.html#SameSite">SameSite</a></div><div class="sidebar-section-children"><a href="global.html#SpecialNumberType">SpecialNumberType</a></div><div class="sidebar-section-children"><a href="global.html#StdIoOptions">StdIoOptions</a></div><div class="sidebar-section-children"><a href="global.html#THENABLE_DRIVERS">THENABLE_DRIVERS</a></div><div class="sidebar-section-children"><a href="global.html#Transport">Transport</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#Type">Type</a></div><div class="sidebar-section-children"><a href="global.html#USER_AGENT">USER_AGENT</a></div><div class="sidebar-section-children"><a href="global.html#UserPromptHandler">UserPromptHandler</a></div><div class="sidebar-section-children"><a href="global.html#W3C_COMMAND_MAP">W3C_COMMAND_MAP</a></div><div class="sidebar-section-children"><a href="global.html#ableToSwitchToFrame">ableToSwitchToFrame</a></div><div class="sidebar-section-children"><a href="global.html#addConsoleHandler">addConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#alertIsPresent">alertIsPresent</a></div><div class="sidebar-section-children"><a href="global.html#arraysEqual">arraysEqual</a></div><div class="sidebar-section-children"><a href="global.html#binaryPaths">binaryPaths</a></div><div class="sidebar-section-children"><a href="global.html#buildPath">buildPath</a></div><div class="sidebar-section-children"><a href="global.html#buildRequest">buildRequest</a></div><div class="sidebar-section-children"><a href="global.html#builtTargets">builtTargets</a></div><div class="sidebar-section-children"><a href="global.html#check">check</a></div><div class="sidebar-section-children"><a href="global.html#checkCodePoint">checkCodePoint</a></div><div class="sidebar-section-children"><a href="global.html#checkLegacyResponse">checkLegacyResponse</a></div><div class="sidebar-section-children"><a href="global.html#checkOptions">checkOptions</a></div><div class="sidebar-section-children"><a href="global.html#checkedCall">checkedCall</a></div><div class="sidebar-section-children"><a href="global.html#checkedNodeCall">checkedNodeCall</a></div><div class="sidebar-section-children"><a href="global.html#color">color</a></div><div class="sidebar-section-children"><a href="global.html#consoleHandler">consoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#copy">copy</a></div><div class="sidebar-section-children"><a href="global.html#copyDir">copyDir</a></div><div class="sidebar-section-children"><a href="global.html#createDriver">createDriver</a></div><div class="sidebar-section-children"><a href="global.html#delayed">delayed</a></div><div class="sidebar-section-children"><a href="global.html#direct">direct</a></div><div class="sidebar-section-children"><a href="global.html#elementIsDisabled">elementIsDisabled</a></div><div class="sidebar-section-children"><a href="global.html#elementIsEnabled">elementIsEnabled</a></div><div class="sidebar-section-children"><a href="global.html#elementIsNotSelected">elementIsNotSelected</a></div><div class="sidebar-section-children"><a href="global.html#elementIsNotVisible">elementIsNotVisible</a></div><div class="sidebar-section-children"><a href="global.html#elementIsSelected">elementIsSelected</a></div><div class="sidebar-section-children"><a href="global.html#elementIsVisible">elementIsVisible</a></div><div class="sidebar-section-children"><a href="global.html#elementLocated">elementLocated</a></div><div class="sidebar-section-children"><a href="global.html#elementTextContains">elementTextContains</a></div><div class="sidebar-section-children"><a href="global.html#elementTextIs">elementTextIs</a></div><div class="sidebar-section-children"><a href="global.html#elementTextMatches">elementTextMatches</a></div><div class="sidebar-section-children"><a href="global.html#elementsLocated">elementsLocated</a></div><div class="sidebar-section-children"><a href="global.html#encodeError">encodeError</a></div><div class="sidebar-section-children"><a href="global.html#ensureFileDetectorsAreEnabled">ensureFileDetectorsAreEnabled</a></div><div class="sidebar-section-children"><a href="global.html#escapeCss">escapeCss</a></div><div class="sidebar-section-children"><a href="global.html#exec">exec</a></div><div class="sidebar-section-children"><a href="global.html#executeCommand">executeCommand</a></div><div class="sidebar-section-children"><a href="global.html#exists">exists</a></div><div class="sidebar-section-children"><a href="global.html#extractId">extractId</a></div><div class="sidebar-section-children"><a href="global.html#filter">filter</a></div><div class="sidebar-section-children"><a href="global.html#filterNonW3CCaps">filterNonW3CCaps</a></div><div class="sidebar-section-children"><a href="global.html#findFreePort">findFreePort</a></div><div class="sidebar-section-children"><a href="global.html#findInPath">findInPath</a></div><div class="sidebar-section-children"><a href="global.html#formatSpawnArgs">formatSpawnArgs</a></div><div class="sidebar-section-children"><a href="global.html#fromWireValue">fromWireValue</a></div><div class="sidebar-section-children"><a href="global.html#fullyResolveKeys">fullyResolveKeys</a></div><div class="sidebar-section-children"><a href="global.html#fullyResolved">fullyResolved</a></div><div class="sidebar-section-children"><a href="global.html#getAddress">getAddress</a></div><div class="sidebar-section-children"><a href="global.html#getAvailableBrowsers">getAvailableBrowsers</a></div><div class="sidebar-section-children"><a href="global.html#getBinary">getBinary</a></div><div class="sidebar-section-children"><a href="global.html#getBinaryPaths">getBinaryPaths</a></div><div class="sidebar-section-children"><a href="global.html#getBrowsersToTestFromEnv">getBrowsersToTestFromEnv</a></div><div class="sidebar-section-children"><a href="global.html#getBrowsingContextInstance">getBrowsingContextInstance</a></div><div class="sidebar-section-children"><a href="global.html#getIPAddress">getIPAddress</a></div><div class="sidebar-section-children"><a href="global.html#getJavaPath">getJavaPath</a></div><div class="sidebar-section-children"><a href="global.html#getLevel">getLevel</a></div><div class="sidebar-section-children"><a href="global.html#getLogInspectorInstance">getLogInspectorInstance</a></div><div class="sidebar-section-children"><a href="global.html#getLogger">getLogger</a></div><div class="sidebar-section-children"><a href="global.html#getLoopbackAddress">getLoopbackAddress</a></div><div class="sidebar-section-children"><a href="global.html#getRequestOptions">getRequestOptions</a></div><div class="sidebar-section-children"><a href="global.html#getStatus">getStatus</a></div><div class="sidebar-section-children"><a href="global.html#getTestHook">getTestHook</a></div><div class="sidebar-section-children"><a href="global.html#headersToString">headersToString</a></div><div class="sidebar-section-children"><a href="global.html#ignore">ignore</a></div><div class="sidebar-section-children"><a href="global.html#init">init</a></div><div class="sidebar-section-children"><a href="global.html#installConsoleHandler">installConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#isErrorResponse">isErrorResponse</a></div><div class="sidebar-section-children"><a href="global.html#isFree">isFree</a></div><div class="sidebar-section-children"><a href="global.html#isId">isId</a></div><div class="sidebar-section-children"><a href="global.html#isIdle">isIdle</a></div><div class="sidebar-section-children"><a href="global.html#isObject">isObject</a></div><div class="sidebar-section-children"><a href="global.html#isPromise">isPromise</a></div><div class="sidebar-section-children"><a href="global.html#isRetryableNetworkError">isRetryableNetworkError</a></div><div class="sidebar-section-children"><a href="global.html#isSelenium3x">isSelenium3x</a></div><div class="sidebar-section-children"><a href="global.html#legacyTimeout">legacyTimeout</a></div><div class="sidebar-section-children"><a href="global.html#load">load</a></div><div class="sidebar-section-children"><a href="global.html#locate">locate</a></div><div class="sidebar-section-children"><a href="global.html#locateWith">locateWith</a></div><div class="sidebar-section-children"><a href="global.html#manual">manual</a></div><div class="sidebar-section-children"><a href="global.html#map">map</a></div><div class="sidebar-section-children"><a href="global.html#mkdir">mkdir</a></div><div class="sidebar-section-children"><a href="global.html#mkdirp">mkdirp</a></div><div class="sidebar-section-children"><a href="global.html#of">of</a></div><div class="sidebar-section-children"><a href="global.html#pac">pac</a></div><div class="sidebar-section-children"><a href="global.html#pad">pad</a></div><div class="sidebar-section-children"><a href="global.html#parseHttpResponse">parseHttpResponse</a></div><div class="sidebar-section-children"><a href="global.html#path">path</a></div><div class="sidebar-section-children"><a href="global.html#projectRoot">projectRoot</a></div><div class="sidebar-section-children"><a href="global.html#read">read</a></div><div class="sidebar-section-children"><a href="global.html#removeConsoleHandler">removeConsoleHandler</a></div><div class="sidebar-section-children"><a href="global.html#requireAtom">requireAtom</a></div><div class="sidebar-section-children"><a href="global.html#resolveCommandLineFlags">resolveCommandLineFlags</a></div><div class="sidebar-section-children"><a href="global.html#resolveWaitMessage">resolveWaitMessage</a></div><div class="sidebar-section-children"><a href="global.html#rmDir">rmDir</a></div><div class="sidebar-section-children"><a href="global.html#sendIndex">sendIndex</a></div><div class="sidebar-section-children"><a href="global.html#sendRequest">sendRequest</a></div><div class="sidebar-section-children"><a href="global.html#serialize">serialize</a></div><div class="sidebar-section-children"><a href="global.html#setFileDetector">setFileDetector</a></div><div class="sidebar-section-children"><a href="global.html#shouldRetryRequest">shouldRetryRequest</a></div><div class="sidebar-section-children"><a href="global.html#socks">socks</a></div><div class="sidebar-section-children"><a href="global.html#splitHostAndPort">splitHostAndPort</a></div><div class="sidebar-section-children"><a href="global.html#stalenessOf">stalenessOf</a></div><div class="sidebar-section-children"><a href="global.html#start">start</a></div><div class="sidebar-section-children"><a href="global.html#startSeleniumServer">startSeleniumServer</a></div><div class="sidebar-section-children"><a href="global.html#stat">stat</a></div><div class="sidebar-section-children"><a href="global.html#stop">stop</a></div><div class="sidebar-section-children"><a href="global.html#suite">suite</a></div><div class="sidebar-section-children"><a href="global.html#suite">suite</a></div><div class="sidebar-section-children"><a href="global.html#system">system</a></div><div class="sidebar-section-children"><a href="global.html#thenFinally">thenFinally</a></div><div class="sidebar-section-children"><a href="global.html#throwDecodedError">throwDecodedError</a></div><div class="sidebar-section-children"><a href="global.html#titleContains">titleContains</a></div><div class="sidebar-section-children"><a href="global.html#titleIs">titleIs</a></div><div class="sidebar-section-children"><a href="global.html#titleMatches">titleMatches</a></div><div class="sidebar-section-children"><a href="global.html#tmpDir">tmpDir</a></div><div class="sidebar-section-children"><a href="global.html#tmpFile">tmpFile</a></div><div class="sidebar-section-children"><a href="global.html#toExecuteAtomCommand">toExecuteAtomCommand</a></div><div class="sidebar-section-children"><a href="global.html#toMap">toMap</a></div><div class="sidebar-section-children"><a href="global.html#toWireValue">toWireValue</a></div><div class="sidebar-section-children"><a href="global.html#tryParse">tryParse</a></div><div class="sidebar-section-children"><a href="global.html#unlink">unlink</a></div><div class="sidebar-section-children"><a href="global.html#unzip">unzip</a></div><div class="sidebar-section-children"><a href="global.html#url">url</a></div><div class="sidebar-section-children"><a href="global.html#urlContains">urlContains</a></div><div class="sidebar-section-children"><a href="global.html#urlIs">urlIs</a></div><div class="sidebar-section-children"><a href="global.html#urlMatches">urlMatches</a></div><div class="sidebar-section-children"><a href="global.html#waitForServer">waitForServer</a></div><div class="sidebar-section-children"><a href="global.html#waitForUrl">waitForUrl</a></div><div class="sidebar-section-children"><a href="global.html#walkDir">walkDir</a></div><div class="sidebar-section-children"><a href="global.html#whereIs">whereIs</a></div><div class="sidebar-section-children"><a href="global.html#withTagName">withTagName</a></div><div class="sidebar-section-children"><a href="global.html#write">write</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>