Search for multiple elements on the page, starting from the document root. The located elements will be returned as web element JSON objects.
First argument to be passed is the locator strategy, which is detailed on the WebDriver docs.

The locator strategy can be one of:

  • css selector
  • link text
  • partial link text
  • tag name
  • xpath

Syntax

.elements(using, value, callback)

Parameters

Name Type description
using string

The locator strategy to use.

value string

The search target.

callback function

Callback function to be invoked with the result when the command finishes.

Usage

module.exports = {
 'demo Test' : function(browser) {
    browser.elements('css selector', 'ul li', function(result) {
      console.log(result.value)
    });
  },

  'es6 async demo Test': async function(browser) {
    const result = await browser.elements('css selector', 'ul li');
    console.log('result value is:', result.value);
  },

  'page object demo Test': function (browser) {
     var nightwatch = browser.page.nightwatch();
     nightwatch
       .navigate()
       .assert.titleContains('Nightwatch.js');

     nightwatch.api.elements('@featuresList', function(result) {
       console.log(result);
     });

     browser.end();
  }
}

W3C WebDriver spec: