Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

selenium-node-webdriver

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

selenium-node-webdriver

Node.js WebDriver client from the Selenium project

latest
Source
npmnpm
Version
0.1.2
Version published
Weekly downloads
35
169.23%
Maintainers
1
Weekly downloads
 
Created
Source

selenium-node-webdriver

Drive PhantomJS 1.8+ from Node.js using Selenium's WebDriver

This module provides a simple wrapper around the Node.js WebDriver implementation that ships with Selenium.

Prerequisites

Installation

npm install selenium-node-webdriver

Usage

phantomjs --webdriver=4444 &
node node_modules/selenium-node-webdriver/examples/hello.js

This example (examples/hello.js) queries Google for 'webdriver' and returns the titles of the results.

var WebDriver = require('selenium-node-webdriver');

WebDriver().
    then(function (driver) {
        driver.get('http://www.google.com').
            then(function () {
                return driver.
                    findElement(driver.webdriver.By.name('q')).
                    sendKeys('webdriver');
            }).
            then(function () {
                return driver.
                    findElement(driver.webdriver.By.name('btnG')).click();
            }).
            then(function () {
                return driver.executeScript(function () {
                    return Array.prototype.slice.
                        call(document.querySelectorAll('h3.r')).
                        map(function (result) {
                            return result.textContent;
                        });
                });
            }).
            then(function (results) {
                results.forEach(function (result) {
                    console.log(result);
                });
                driver.quit();
            });
    });

API

require('selenium-node-webdriver')(config <object>) -> Promise

The module exports a factory function which accepts a config object and returns a promise. The config object has two properties, both of which are optional:

server: describes the WebDriver server to connect to; it has the following properties:

  • host: the server's hostname (localhost)
  • port: the port to connect to (4444)
  • retries: the number of times to try to connect to the server (5)
  • delay: the delay in ms between connection attempts (500)

capabilities: describes the capabilities of the WebDriver client you are creating. It has the following properties by default:

  • browserName: 'chrome'
  • version: ''
  • platform: 'ANY'
  • javascriptEnabled: true

The returned promise is resolved with a RemoteWebDriver instance if the connection succeeds or rejected with the error from the final retry if connection fails.

Useful documentation

Selenium

WebDriverJS: an introduction to using JavaScript as a WebDriver client

The WebDriver Protocol

License

Apache License, Version 2.0

Keywords

webdriver

FAQs

Package last updated on 02 Feb 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts