.clickAndHold() Suggest edits
Since: 2.0.0Move to the element and click (without releasing) in the middle of the given element.
clickAndHold()
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
.clickAndHold(selector, [callback])
.clickAndHold(using, selector, [callback])
Parameters
Name | Type | description |
---|---|---|
using Optional |
string | The locator strategy to use. See W3C Webdriver - locator strategies |
selector |
string | The CSS/Xpath selector used to locate the element. |
callback Optional |
function | Optional callback function to be called when the command finishes. |
Example
module.exports = {
demoTest() {
browser.clickAndHold('#main ul li a.first');
browser.clickAndHold('#main ul li a.first', function(result) {
console.log('Click result', result);
});
// with explicit locate strategy
browser.clickAndHold('css selector', '#main ul li a.first');
// with selector object - see https://nightwatchjs.org/guide#element-properties
browser.clickAndHold({
selector: '#main ul li a',
index: 1,
suppressNotFoundErrors: true
});
browser.clickAndHold({
selector: '#main ul li a.first',
timeout: 2000 // overwrite the default timeout (in ms) to check if the element is present
});
},
demoTestAsync: async function() {
const result = await browser.clickAndHold('#main ul li a.first');
console.log('Right click result', result);
}
}