UNPKG

@luminati-io/webdriverio8

Version:

Next-gen browser and mobile automation test framework for Node.js

37 lines (36 loc) 1.95 kB
import { ELEMENT_KEY } from '../../constants.js'; import { getBrowserObject } from '../../utils/index.js'; import isFocusedScript from '../../scripts/isFocused.js'; /** * * Return true or false if the selected DOM-element currently has focus. If the selector matches * multiple elements, it will return true if one of the elements has focus. * * <example> :index.html <input name="login" autofocus="" /> :hasFocus.js it('should detect the focus of an element', async () => { await browser.url('/'); const loginInput = await $('[name="login"]'); console.log(await loginInput.isFocused()); // outputs: false await loginInput.click(); console.log(await loginInput.isFocused()); // outputs: true }) * </example> * * @alias element.isFocused * @return {Boolean} true if one of the matching elements has focus * * @uses protocol/execute * @type state * */ export async function isFocused() { const browser = await getBrowserObject(this); return browser.execute(isFocusedScript, { [ELEMENT_KEY]: this.elementId, // w3c compatible ELEMENT: this.elementId // jsonwp compatible }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNGb2N1c2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2VsZW1lbnQvaXNGb2N1c2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN2RCxPQUFPLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQTtBQUV4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUztJQUMzQixNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDcEMsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQjtRQUNoRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0I7S0FDekIsQ0FBQyxDQUFBO0FBQzVCLENBQUMifQ==