-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
83 lines (80 loc) · 23.9 KB
/
index.html
File metadata and controls
83 lines (80 loc) · 23.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html><html lang="en"><head><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-51256585-4"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-51256585-4');</script><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><title>W3C WebDriver</title><meta name="description" content="WebDriver client for JavaScript"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta property="og:title" content="W3C WebDriver"/><meta property="og:type" content="website"/><meta property="og:url" content="https://w3c-webdriver.github.io"/><meta property="og:image" content="opengraph-969eb66c4ac46040a9e864d321e8e5ee.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:description" content="WebDriver client for JavaScript"/><meta name="theme-color" content="#7ac35f"/><style data-styled="elmAWQ hFjUra dhPuMI koURsI ekGstm jcvskU eeuVlg bzsWuf XKgNx cGaljh dofKEl dLmUcp hogQlB bUHJIA gDTGaH hYMtB eiQfdn lbXKbc ldQcii gpMDSx wHKmQ fltzxZ idFeQr chxjBI dZJAAP bwxRPa gyVCXr jTfAdQ kzTKuX eipNHn" data-styled-version="4.4.1">
/* sc-component-id: Footer__StyledHeart-sc-1ofq597-0 */
.kzTKuX{width:21px;height:21px;margin:7px;}
/* sc-component-id: Footer__Flag-sc-1ofq597-1 */
.eipNHn{line-height:0;} .eipNHn svg{width:32px;height:32px;margin:7px;}
/* sc-component-id: Footer__StyledFooter-sc-1ofq597-2 */
.jTfAdQ{grid-area:footer;padding-top:50px;padding-bottom:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;} .jTfAdQ > div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}
/* sc-component-id: Body-sc-1kose83-0 */
.elmAWQ{margin:0;padding:0;color:#000;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden;display:grid;grid-template-areas:' . main . toc' ' . footer . toc';grid-template-columns:minmax(20px,1fr) minmax(auto,840px) minmax(20px,1fr) 0;} @media (min-width:1100px){.elmAWQ{grid-template-columns:minmax(80px,1fr) minmax(auto,840px) minmax(80px,1fr) 330px;}}
/* sc-component-id: Heading__Anchor-oer6k3-0 */
.eeuVlg{-webkit-text-decoration:none;text-decoration:none;visibility:hidden;float:left;color:currentColor;} .eeuVlg:hover{-webkit-filter:contrast(0.1);filter:contrast(0.1);}
/* sc-component-id: Heading__StyledAnchorIcon-oer6k3-1 */
.bzsWuf{display:inline-block;width:.45em;height:.45em;margin-left:calc(-.3em - .45em);padding-right:.3em;-webkit-transform:translateY(-.12em);-ms-transform:translateY(-.12em);transform:translateY(-.12em);} .bzsWuf path{fill:currentColor;}
/* sc-component-id: Heading__StyledHeading1-oer6k3-2 */
.dhPuMI{font-size:40px;line-height:1.125;margin:40px 0;color:#282c34;} @media (min-width:780px){.dhPuMI{font-size:60px;margin:50px 0;}} @media (min-width:980px){.dhPuMI{margin-top:80px;}}
/* sc-component-id: Heading__StyledHeading2-oer6k3-3 */
.jcvskU{font-size:20px;margin:40px 0;color:#282c34;} .jcvskU:hover .Heading__Anchor-oer6k3-0{visibility:visible;} @media (min-width:980px){.jcvskU{font-size:24px;}} @media (min-width:1280px){.jcvskU{font-size:35px;}}
/* sc-component-id: Link-gk158-0 */
.ekGstm{-webkit-text-decoration:none;text-decoration:none;color:#337ab7;} .ekGstm:focus,.no-touchevents .ekGstm:hover{-webkit-filter:contrast(0.1);filter:contrast(0.1);-webkit-text-decoration:underline;text-decoration:underline;} .ekGstm:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
/* sc-component-id: Code__CodeWrapper-picg8i-0 */
.XKgNx{margin:25px -20px;padding:0 18px;overflow:auto;font-size:14px;line-height:20px;background-color:#2d2d2d;} @media (min-width:894px){.XKgNx{margin-right:-18px;margin-left:-18px;border-radius:10px;}}
/* sc-component-id: Code__StyledSyntaxHighlighter-picg8i-1 */
.gDTGaH{margin:0 -0.5em;white-space:pre-wrap;word-break:break-word;} .gDTGaH .hljs-purple{color:#b4009e;} .gDTGaH .hljs-green{color:#11a10e;}
/* sc-component-id: Code__WindowButton-picg8i-2 */
.dLmUcp{width:14px;height:14px;border-radius:50%;background-color:#ff5f56;}.hogQlB{width:14px;height:14px;border-radius:50%;background-color:#ffbd2e;}.bUHJIA{width:14px;height:14px;border-radius:50%;background-color:#27c93f;}
/* sc-component-id: Code__WindowButtonsWrapper-picg8i-3 */
.dofKEl{position:absolute;top:0;bottom:0;display:grid;grid-column-gap:8px;grid-template-columns:repeat(3,auto);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
/* sc-component-id: Code__WindowTitle-picg8i-4 */
.cGaljh{color:white;font-weight:bold;text-align:center;position:relative;margin-top:12px;}
/* sc-component-id: Paragraph__StyledParagraph-sc-1efu9re-0 */
.koURsI{max-width:42em;}
/* sc-component-id: Contributors__Avatar-sc-1o3m43-0 */
.ldQcii{width:100px;display:block;overflow:hidden;border-radius:50%;opacity:inherit;-webkit-transition:inherit;transition:inherit;}
/* sc-component-id: Contributors__ContributorContainer-sc-1o3m43-1 */
.eiQfdn{text-align:center;padding:15px;width:100px;}
/* sc-component-id: Contributors__Link-sc-1o3m43-2 */
.lbXKbc{color:inherit;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;} .no-touchevents .lbXKbc:hover{opacity:0.5;}
/* sc-component-id: Contributors__ContributorsContainer-sc-1o3m43-3 */
.hYMtB{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;font-size:12px;}
/* sc-component-id: BrowserStackLogo__Logo-sc-1rcmocb-0 */
.gpMDSx{width:100%;max-width:300px;display:block;margin:-40px -6px;}
/* sc-component-id: TableOfContentsNode__Link-sc-19a47gy-0 */
.bwxRPa{color:inherit;-webkit-text-decoration:none;text-decoration:none;display:block;padding:10px;position:relative;-webkit-transition:filter .1s ease,background-color .1s ease;transition:filter .1s ease,background-color .1s ease;--active-dot-size:6px;font-weight:700;} @media (min-width:720px){.bwxRPa{padding:5px 10px;}} .no-touchevents .bwxRPa:hover{-webkit-filter:contrast(0.1);filter:contrast(0.1);}.gyVCXr{color:inherit;-webkit-text-decoration:none;text-decoration:none;display:block;padding:10px;position:relative;-webkit-transition:filter .1s ease,background-color .1s ease;transition:filter .1s ease,background-color .1s ease;--active-dot-size:6px;} @media (min-width:720px){.gyVCXr{padding:5px 10px;}} .no-touchevents .gyVCXr:hover{-webkit-filter:contrast(0.1);filter:contrast(0.1);}
/* sc-component-id: HomeLink__StyledHomeLink-sc-15k1ajn-0 */
.idFeQr{font-size:1.3em;-webkit-text-decoration:none;text-decoration:none;display:block;-webkit-transition:filter .1s ease;transition:filter .1s ease;color:#282c34;} .no-touchevents .idFeQr:hover{-webkit-filter:contrast(0.1);filter:contrast(0.1);}
/* sc-component-id: SearchField__Wrapper-l8gm09-0 */
.chxjBI{position:relative;} .chxjBI .algolia-autocomplete{width:100%;} .chxjBI .label{position:absolute;left:0;top:-500px;width:1px;height:1px;overflow:hidden;} .chxjBI .icon{position:absolute;top:50%;left:3px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:20px;height:20px;z-index:1;} .chxjBI input{display:block;width:100%;box-sizing:border-box;background:white;border:0;color:inherit;font-size:18px;font-family:inherit;position:relative;padding:5px 5px 5px 29px;-webkit-appearance:none;-moz-appearance:none;outline-color:currentColor;}
/* sc-component-id: TableOfContents__Wrapper-wgfebw-0 */
.fltzxZ{position:fixed;top:0;left:0;right:0;display:grid;gap:15px;grid-template-rows:auto auto 1fr;padding:20px;-webkit-transition:-webkit-transform .15s ease;-webkit-transition:transform .15s ease;transition:transform .15s ease;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);background-color:#f7f7f7;box-sizing:border-box;height:100vh;} @media (min-width:1100px){.fltzxZ{padding-top:60px;position:-webkit-sticky;position:sticky;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none;font-size:13px;}} @media (min-width:2000px){}
/* sc-component-id: TableOfContents__Navigation-wgfebw-1 */
.dZJAAP{-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;line-height:initial;-webkit-scrollbar-width:thin;-moz-scrollbar-width:thin;-ms-scrollbar-width:thin;scrollbar-width:thin;} .dZJAAP::-webkit-scrollbar{width:3px;} .dZJAAP::-webkit-scrollbar-thumb{background:#c1c1c1;} .dZJAAP ol,.dZJAAP ul{list-style:none;margin:0;padding:0;} .dZJAAP li{margin:0;padding:0;} .dZJAAP > ol > li > ol > li a{padding-left:40px;}
/* sc-component-id: Site__Main-zzx35d-0 */
.hFjUra{line-height:1.7;grid-area:main;} @media (min-width:980px){.hFjUra{font-size:17px;}}
/* sc-component-id: Site__TableOfContentsContainer-zzx35d-1 */
.wHKmQ{grid-area:toc;}</style></head><body class="Body-sc-1kose83-0 elmAWQ"><main class="Site__Main-zzx35d-0 hFjUra"><article><h1 id="introduction" class="Heading__StyledHeading1-oer6k3-2 dhPuMI">Introduction</h1><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI">This a very minimal future proof JavaScript bindings
that conform to the <a href="https://www.w3.org/TR/webdriver" class="Link-gk158-0 ekGstm">W3C WebDriver standard</a>,
which specifies a remote control protocol for web browsers.</p><h2 id="features" class="Heading__StyledHeading2-oer6k3-3 jcvskU"><a href="#features" aria-hidden="true" class="Heading__Anchor-oer6k3-0 eeuVlg"><svg viewBox="0 0 36 36" class="Heading__StyledAnchorIcon-oer6k3-1 bzsWuf"><path fill="#8899A6" d="M15 9l6-6s6-6 12 0 0 12 0 12l-8 8s-6 6-12 0c-1.125-1.125-1.822-2.62-1.822-2.62l3.353-3.348S14.396 18.396 16 20c0 0 3 3 6 0l8-8s3-3 0-6-6 0-6 0l-3.729 3.729s-1.854-1.521-5.646-.354L15 9z"></path><path fill="#8899A6" d="M20.845 27l-6 6s-6 6-12 0 0-12 0-12l8-8s6-6 12 0c1.125 1.125 1.822 2.62 1.822 2.62l-3.354 3.349s.135-1.365-1.469-2.969c0 0-3-3-6 0l-8 8s-3 3 0 6 6 0 6 0l3.729-3.729s1.854 1.521 5.646.354l-.374.375z"></path></svg></a>Features</h2><ul><li>No magic just pure promise based REST client.</li><li>One-to-one mapping to WebDriver API endpoints</li><li>Written in TypeScript for type safety and IntelliSense documentation</li><li>100% test coverage in real browsers (Chrome, Firefox, Safari, Internet Explorer)</li><li>Tested with latest Ubuntu, Windows and MacOS on CI server</li></ul><h2 id="getting-started" class="Heading__StyledHeading2-oer6k3-3 jcvskU"><a href="#getting-started" aria-hidden="true" class="Heading__Anchor-oer6k3-0 eeuVlg"><svg viewBox="0 0 36 36" class="Heading__StyledAnchorIcon-oer6k3-1 bzsWuf"><path fill="#8899A6" d="M15 9l6-6s6-6 12 0 0 12 0 12l-8 8s-6 6-12 0c-1.125-1.125-1.822-2.62-1.822-2.62l3.353-3.348S14.396 18.396 16 20c0 0 3 3 6 0l8-8s3-3 0-6-6 0-6 0l-3.729 3.729s-1.854-1.521-5.646-.354L15 9z"></path><path fill="#8899A6" d="M20.845 27l-6 6s-6 6-12 0 0-12 0-12l8-8s6-6 12 0c1.125 1.125 1.822 2.62 1.822 2.62l-3.354 3.349s.135-1.365-1.469-2.969c0 0-3-3-6 0l-8 8s-3 3 0 6 6 0 6 0l3.729-3.729s1.854 1.521 5.646.354l-.374.375z"></path></svg></a>Getting started</h2><h3 id="1-install-the-package">1. Install the package</h3><div class="Code__CodeWrapper-picg8i-0 XKgNx"><div class="Code__WindowTitle-picg8i-4 cGaljh"><div class="Code__WindowButtonsWrapper-picg8i-3 dofKEl"><span type="close" class="Code__WindowButton-picg8i-2 dLmUcp"></span><span type="minimize" class="Code__WindowButton-picg8i-2 hogQlB"></span><span type="maximize" class="Code__WindowButton-picg8i-2 bUHJIA"></span></div> </div><pre class="Code__StyledSyntaxHighlighter-picg8i-1 gDTGaH" style="display:block;overflow-x:auto;background:#2d2d2d;color:#cccccc;padding:0.5em"><code>npm <span style="color:#cc99cc">install</span> w3c-webdriver</code></pre></div><h3 id="2-install-a-browser-driver-for-web-driver-protocol">2. Install a browser driver for WebDriver protocol</h3><ul><li>Chrome - <a href="https://www.npmjs.com/package/chromedriver" class="Link-gk158-0 ekGstm">chromedriver</a></li><li>Firefox - <a href="https://www.npmjs.com/package/geckodriver" class="Link-gk158-0 ekGstm">geckodriver</a></li><li>Safari - <a href="https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari" class="Link-gk158-0 ekGstm">safaridriver</a></li><li>Internet Explorer - <a href="https://www.npmjs.com/package/iedriver" class="Link-gk158-0 ekGstm">iedriver</a></li></ul><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI">For example in case of Google Chrome or its headless version you can do.</p><div class="Code__CodeWrapper-picg8i-0 XKgNx"><div class="Code__WindowTitle-picg8i-4 cGaljh"><div class="Code__WindowButtonsWrapper-picg8i-3 dofKEl"><span type="close" class="Code__WindowButton-picg8i-2 dLmUcp"></span><span type="minimize" class="Code__WindowButton-picg8i-2 hogQlB"></span><span type="maximize" class="Code__WindowButton-picg8i-2 bUHJIA"></span></div> </div><pre class="Code__StyledSyntaxHighlighter-picg8i-1 gDTGaH" style="display:block;overflow-x:auto;background:#2d2d2d;color:#cccccc;padding:0.5em"><code>npm <span style="color:#cc99cc">install</span> chromedriver</code></pre></div><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI">Also you can manage the drivers using <a href="https://www.npmjs.com/package/webdriver-manager" class="Link-gk158-0 ekGstm">webdriver-manager</a></p><h3 id="3-start-the-driver-as-described-in-the-docs">3. Start the driver as described in the docs</h3><h3 id="4-control-the-browser-through-web-driver-protocol">4. Control the browser through WebDriver protocol</h3><div class="Code__CodeWrapper-picg8i-0 XKgNx"><div class="Code__WindowTitle-picg8i-4 cGaljh"><div class="Code__WindowButtonsWrapper-picg8i-3 dofKEl"><span type="close" class="Code__WindowButton-picg8i-2 dLmUcp"></span><span type="minimize" class="Code__WindowButton-picg8i-2 hogQlB"></span><span type="maximize" class="Code__WindowButton-picg8i-2 bUHJIA"></span></div> </div><pre class="Code__StyledSyntaxHighlighter-picg8i-1 gDTGaH" style="display:block;overflow-x:auto;background:#2d2d2d;color:#cccccc;padding:0.5em"><code><span style="color:#cc99cc">const</span> { newSession } = <span style="color:#f99157">require</span>(<span style="color:#99cc99">'w3c-webdriver'</span>);
<span style="color:#cc99cc">let</span> session;
<span class="hljs-function">(<span style="color:#f99157"><span style="color:#cc99cc">async</span> (</span>) =></span> {
<span style="color:#cc99cc">try</span> {
session = <span style="color:#cc99cc">await</span> newSession({
<span class="hljs-attr">url</span>: <span style="color:#99cc99">'http://localhost:4444'</span>,
<span class="hljs-attr">capabilities</span>: {
<span class="hljs-attr">alwaysMatch</span>: {
<span class="hljs-attr">browserName</span>: <span style="color:#99cc99">'chrome'</span>
}
}
});
<span style="color:#cc99cc">await</span> session.navigateTo(<span style="color:#99cc99">'http://localhost:8080'</span>);
<span style="color:#cc99cc">const</span> input = <span style="color:#cc99cc">await</span> session.findElement(<span style="color:#99cc99">'css selector'</span>, <span style="color:#99cc99">'[name="first-name"]'</span>);
<span style="color:#cc99cc">await</span> input.sendKeys(<span style="color:#99cc99">'Hello World'</span>);
} <span style="color:#cc99cc">catch</span> (err) {
<span style="color:#f99157">console</span>.log(err.stack);
} <span style="color:#cc99cc">finally</span> {
session.deleteSession();
}
})();</code></pre></div><h2 id="contributors" class="Heading__StyledHeading2-oer6k3-3 jcvskU"><a href="#contributors" aria-hidden="true" class="Heading__Anchor-oer6k3-0 eeuVlg"><svg viewBox="0 0 36 36" class="Heading__StyledAnchorIcon-oer6k3-1 bzsWuf"><path fill="#8899A6" d="M15 9l6-6s6-6 12 0 0 12 0 12l-8 8s-6 6-12 0c-1.125-1.125-1.822-2.62-1.822-2.62l3.353-3.348S14.396 18.396 16 20c0 0 3 3 6 0l8-8s3-3 0-6-6 0-6 0l-3.729 3.729s-1.854-1.521-5.646-.354L15 9z"></path><path fill="#8899A6" d="M20.845 27l-6 6s-6 6-12 0 0-12 0-12l8-8s6-6 12 0c1.125 1.125 1.822 2.62 1.822 2.62l-3.354 3.349s.135-1.365-1.469-2.969c0 0-3-3-6 0l-8 8s-3 3 0 6 6 0 6 0l3.729-3.729s1.854 1.521 5.646.354l-.374.375z"></path></svg></a>Contributors</h2><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI"><ul class="Contributors__ContributorsContainer-sc-1o3m43-3 hYMtB"><li class="Contributors__ContributorContainer-sc-1o3m43-1 eiQfdn"><a href="https://twitter.com/mucsi96" title="Igor Muchychka" class="Contributors__Link-sc-1o3m43-2 lbXKbc"><img src="https://avatars0.githubusercontent.com/u/3163392?v=4" alt="Igor Muchychka" class="Contributors__Avatar-sc-1o3m43-0 ldQcii"/>Igor Muchychka</a></li><li class="Contributors__ContributorContainer-sc-1o3m43-1 eiQfdn"><a href="https://spnraju.github.io" title="Padmanabha Raju Sagi" class="Contributors__Link-sc-1o3m43-2 lbXKbc"><img src="https://avatars1.githubusercontent.com/u/33729221?v=4" alt="Padmanabha Raju Sagi" class="Contributors__Avatar-sc-1o3m43-0 ldQcii"/>Padmanabha Raju Sagi</a></li><li class="Contributors__ContributorContainer-sc-1o3m43-1 eiQfdn"><a title="Gabor Szalay" class="Contributors__Link-sc-1o3m43-2 lbXKbc"><img src="https://avatars3.githubusercontent.com/u/6848578?v=4" alt="Gabor Szalay" class="Contributors__Avatar-sc-1o3m43-0 ldQcii"/>Gabor Szalay</a></li><li class="Contributors__ContributorContainer-sc-1o3m43-1 eiQfdn"><a title="Adam Graf" class="Contributors__Link-sc-1o3m43-2 lbXKbc"><img src="https://avatars1.githubusercontent.com/u/5919649?v=4" alt="Adam Graf" class="Contributors__Avatar-sc-1o3m43-0 ldQcii"/>Adam Graf</a></li><li class="Contributors__ContributorContainer-sc-1o3m43-1 eiQfdn"><a title="Roland Orosz" class="Contributors__Link-sc-1o3m43-2 lbXKbc"><img src="https://avatars1.githubusercontent.com/u/4106395?v=4" alt="Roland Orosz" class="Contributors__Avatar-sc-1o3m43-0 ldQcii"/>Roland Orosz</a></li></ul></p><h2 id="we-are-using" class="Heading__StyledHeading2-oer6k3-3 jcvskU"><a href="#we-are-using" aria-hidden="true" class="Heading__Anchor-oer6k3-0 eeuVlg"><svg viewBox="0 0 36 36" class="Heading__StyledAnchorIcon-oer6k3-1 bzsWuf"><path fill="#8899A6" d="M15 9l6-6s6-6 12 0 0 12 0 12l-8 8s-6 6-12 0c-1.125-1.125-1.822-2.62-1.822-2.62l3.353-3.348S14.396 18.396 16 20c0 0 3 3 6 0l8-8s3-3 0-6-6 0-6 0l-3.729 3.729s-1.854-1.521-5.646-.354L15 9z"></path><path fill="#8899A6" d="M20.845 27l-6 6s-6 6-12 0 0-12 0-12l8-8s6-6 12 0c1.125 1.125 1.822 2.62 1.822 2.62l-3.354 3.349s.135-1.365-1.469-2.969c0 0-3-3-6 0l-8 8s-3 3 0 6 6 0 6 0l3.729-3.729s1.854 1.521 5.646.354l-.374.375z"></path></svg></a>We are using</h2><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI"><a href="https://www.browserstack.com"><img src="browserstack-logo-d1ef91abf99e8701bf87475c9bbf2db6.png" class="BrowserStackLogo__Logo-sc-1rcmocb-0 gpMDSx"/></a></p><p class="Paragraph__StyledParagraph-sc-1efu9re-0 koURsI">We are using <a href="https://www.browserstack.com" class="Link-gk158-0 ekGstm">BrowserStack</a> for testing the Selenium support of current package. BrowserStack loves open source and has sponsored thousands of projects. They offered us a free account as we're an open source project. This makes testing very easy on different browsers and various platforms including real mobile devices.</p></article></main><div data-react-rehydrate-key="table-of-contents" class="Site__TableOfContentsContainer-zzx35d-1 wHKmQ"><div class="TableOfContents__Wrapper-wgfebw-0 fltzxZ"><a href="/" class="HomeLink__StyledHomeLink-sc-15k1ajn-0 idFeQr"><strong>W3C WebDriver</strong><div>v1.0.0</div></a><div class="SearchField__Wrapper-l8gm09-0 chxjBI"><label for="search-field" class="label">Search docs</label><svg viewBox="0 0 224 224" class="icon"><path d="M94.08 13.44c-42.105 0-76.16 34.055-76.16 76.16s34.055 76.16 76.16 76.16c15.033 0 28.945-4.41 40.74-11.9l55.02 55.02 19.04-19.04-54.32-54.18c9.765-12.81 15.68-28.683 15.68-46.06 0-42.105-34.055-76.16-76.16-76.16zm0 17.92c32.252 0 58.24 25.988 58.24 58.24s-25.988 58.24-58.24 58.24c-32.253 0-58.24-25.988-58.24-58.24s25.987-58.24 58.24-58.24z" fill="currentColor"></path></svg><input type="search" id="search-field" placeholder="Search docs"/></div><nav class="TableOfContents__Navigation-wgfebw-1 dZJAAP"><ol><li><a href="/" class="TableOfContentsNode__Link-sc-19a47gy-0 bwxRPa">Introduction</a><ol><li><a href="#features" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">Features</a></li><li><a href="#getting-started" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">Getting started</a></li><li><a href="#contributors" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">Contributors</a></li><li><a href="#we-are-using" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">We are using</a></li></ol></li><li><a href="/api" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">API</a></li><li><a href="https://github.com/w3c-webdriver/w3c-webdriver" class="TableOfContentsNode__Link-sc-19a47gy-0 gyVCXr">GitHub</a></li></ol></nav></div></div><footer class="Footer__StyledFooter-sc-1ofq597-2 jTfAdQ"><div>Created with <svg viewBox="0 0 36 36" class="Footer__StyledHeart-sc-1ofq597-0 kzTKuX"><path fill="#DD2E44" d="M35.885 11.833c0-5.45-4.418-9.868-9.867-9.868-3.308 0-6.227 1.633-8.018 4.129-1.791-2.496-4.71-4.129-8.017-4.129-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C1.751 22.587 11.216 31.568 18 34.034c6.783-2.466 16.249-11.447 17.617-19.959.17-.721.268-1.469.268-2.242z"></path></svg> in <span class="Footer__Flag-sc-1ofq597-1 eipNHn"><svg viewBox="0 0 36 36"><path fill="#D32D27" d="M31 27a4 4 0 01-4 4H9a4 4 0 01-4-4V9a4 4 0 014-4h18a4 4 0 014 4v18z"></path><path fill="#FFF" d="M25 16.063h-5v-5h-4v5h-5V20h5v5.063h4V20h5z"></path></svg></span><span class="Footer__Flag-sc-1ofq597-1 eipNHn"><svg viewBox="0 0 36 36"><path fill="#138808" d="M0 27a4 4 0 004 4h28a4 4 0 004-4v-4H0v4z"></path><path fill="#EEE" d="M0 13h36v10H0z"></path><path fill="#F93" d="M36 13V9a4 4 0 00-4-4H4a4 4 0 00-4 4v4h36z"></path><circle fill="navy" cx="18" cy="18" r="4"></circle><circle fill="#EEE" cx="18" cy="18" r="3"></circle><path fill="#6666B3" d="M18 15l.146 2.264 1.001-2.035-.73 2.147 1.704-1.498-1.497 1.705 2.147-.731-2.035 1.002L21 18l-2.264.146 2.035 1.001-2.147-.73 1.497 1.704-1.704-1.497.73 2.147-1.001-2.035L18 21l-.146-2.264-1.002 2.035.731-2.147-1.705 1.497 1.498-1.704-2.147.73 2.035-1.001L15 18l2.264-.146-2.035-1.002 2.147.731-1.498-1.705 1.705 1.498-.731-2.147 1.002 2.035z"></path><circle fill="navy" cx="18" cy="18" r="1"></circle></svg></span><span class="Footer__Flag-sc-1ofq597-1 eipNHn"><svg viewBox="0 0 36 36"><path fill="#EEE" d="M0 14h36v8H0z"></path><path fill="#CD2A3E" d="M32 5H4a4 4 0 00-4 4v5h36V9a4 4 0 00-4-4z"></path><path fill="#436F4D" d="M4 31h28a4 4 0 004-4v-5H0v5a4 4 0 004 4z"></path></svg></span></div><div>2018 - 2020</div></footer><script>window.__REHYDRATION_INITIAL_STATE__ = JSON.parse('{"table-of-contents":{"title":"W3C WebDriver","description":"WebDriver client for JavaScript","url":"https://w3c-webdriver.github.io","github":"https://github.com/w3c-webdriver/w3c-webdriver","trackingId":"UA-51256585-4","docSearchApiKey":"3a98d60dc0258b3a32c0a2d223a3bb37","docSearchIndexName":"w3c-webdriver","path":"/","tableOfContentsItems":[{"url":"/","level":1,"title":"Introduction"},{"url":"#features","level":2,"title":"Features"},{"url":"#getting-started","level":2,"title":"Getting started"},{"url":"#contributors","level":2,"title":"Contributors"},{"url":"#we-are-using","level":2,"title":"We are using"},{"url":"/api","level":1,"title":"API"},{"url":"https://github.com/w3c-webdriver/w3c-webdriver","level":1,"title":"GitHub"}]}}')</script><div id="app"></div><script async="" defer="" src="/site-client.js"></script></body></html>