Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
seleniumhq
GitHub Repository: seleniumhq/selenium
Path: blob/trunk/javascript/selenium-webdriver/example/headless.js
2884 views
1
// Licensed to the Software Freedom Conservancy (SFC) under one
2
// or more contributor license agreements. See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership. The SFC licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License. You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied. See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
/**
19
* @fileoverview An example of running Chrome or Firefox in headless mode.
20
*
21
* To run with Chrome, ensure you have Chrome 59+ installed and that
22
* chromedriver 2.30+ is present on your system PATH:
23
* <https://chromedriver.chromium.org/downloads>
24
*
25
* SELENIUM_BROWSER=chrome node selenium-webdriver/example/headless.js
26
*
27
* To run with Firefox, ensure you have Firefox 57+ installed and that
28
* geckodriver 0.19.0+ is present on your system PATH:
29
* <https://github.com/mozilla/geckodriver/releases>
30
*
31
* SELENIUM_BROWSER=firefox node selenium-webdriver/example/headless.js
32
*/
33
34
const chrome = require('../chrome')
35
const firefox = require('../firefox')
36
const { Builder, By, Key, until } = require('..')
37
38
const width = 640
39
const height = 480
40
41
let driver = new Builder()
42
.forBrowser('chrome')
43
.setChromeOptions(new chrome.Options().addArguments('-headless').windowSize({ width, height }))
44
.setFirefoxOptions(new firefox.Options().addArguments('-headless').windowSize({ width, height }))
45
.build()
46
47
driver
48
.get('http://www.google.com/ncr')
49
.then((_) => driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN))
50
.then((_) => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
51
.then(
52
(_) => driver.quit(),
53
(e) =>
54
driver.quit().then(() => {
55
throw e
56
}),
57
)
58
59