@christian-bromann/webdriverio
Version:
A nodejs bindings implementation for selenium 2.0/webdriver
38 lines (31 loc) • 856 B
JavaScript
/**
*
* Return true or false if the selected DOM-element currently has focus.
*
* <example>
:index.html
<input name="login" autofocus="" />
:hasFocus.js
client.hasFocus('[name="login"]');
* </example>
*
* @alias browser.hasFocus
* @param {String} selector select active element
* @returns {Boolean} true if element has focus
* @uses protocol/execute
* @type state
*
*/
let hasFocus = function (selector) {
let result = this.execute(function (selector) {
var focused = document.activeElement
if (!focused || focused === document.body) {
return false
} else if (document.querySelector) {
return focused === document.querySelector(selector)
}
return false
}, selector)
return result.then(result => result.value)
}
export default hasFocus