webdriverjs
Version:
A nodejs bindings implementation for selenium 2.0/webdriver
42 lines (29 loc) • 1 kB
JavaScript
// call must be scoped to the webdriverjs client
module.exports = function(cssSelector, button, callback) {
var self = this;
if(typeof cssSelector === 'function') {
callback = cssSelector;
cssSelector = undefined;
}
callback = callback || function() {};
if(button === 'left' && cssSelector) {
self.click(cssSelector, callback);
} else if(! cssSelector) {
self.buttonPress(button, callback);
} else {
self.element(cssSelector, function(err,result) {
if(err === null && result.value) {
self.moveTo(result.value.ELEMENT, function(err,result){
if(err === null) {
self.buttonPress(button, callback);
} else {
callback(err, result);
}
});
} else {
/* istanbul ignore next */
callback(err,result);
}
});
}
};