Retrieve the value of a specified DOM property for the given element. For all the available DOM element properties, consult the Element doc at MDN.

The command getElementProperty() will automatically wait for the element to be present (until the specified timeout). If the element is not found, an error is thrown which will cause the test to fail. You can suppress element not found errors by specifying the selector argument as an object and passing the suppressNotFoundErrors = true option.

For more info on working with DOM elements in Nightwatch, refer to the Finding & interacting with DOM Elements guide page.


.getElementProperty(selector, property, [callback])
.getElementProperty(using, selector, property, [callback])


module.exports = {
  demoTest(browser) {
    browser.getElementProperty('#login input[type=text]', 'classList', function(result) {
      console.log('result', result);

    // with explicit locate strategy
    browser.getElementProperty('css selector', '#login input[type=text]', 'classList', function(result) {
      console.log('result', result);

    // with selector object - see
      selector: '#login input[type=text]',
      index: 1,
      suppressNotFoundErrors: true
    }, 'classList', function(result) {
      console.log('result', result);

  demoTestAsync: async function(browser) {
    const result = await browser.getElementProperty('#login input[type=text]', 'classList');
    console.log('classList', result);


Name Type description

The locator strategy to use. See W3C Webdriver - locator strategies

selector string|object

The selector (CSS/Xpath) used to locate the element. Can either be a string or an object which specifies element properties.

property string

The property to inspect.

callback function

Callback function which is called with the result value; not required if using await operator.


Type description
* The value of the property

W3C WebDriver spec