.getElementProperty() Suggest edits
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.
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. Starting with v1.2
you can suppress element not found errors by specifying the suppressNotFoundErrors
option.
Usage
.getElementProperty(selector, property, callback)
.getElementProperty(using, selector, property, callback)
Parameters
Name | Type | description |
---|---|---|
using Optional |
string | 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 |
Returns
Type | description |
---|---|
* | The value of the property |
Example
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 https://nightwatchjs.org/guide#element-properties
browser.getElementProperty({
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);
}
}