webdriverio-automation
Version:
WebdriverIO-Automation android ios project
33 lines (24 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getActiveElement;
var _findElement = _interopRequireDefault(require("./findElement"));
var _getActiveElement = _interopRequireDefault(require("../scripts/getActiveElement"));
var _cleanUpSerializationSelector = _interopRequireDefault(require("../scripts/cleanUpSerializationSelector"));
var _constants = require("../constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function getActiveElement() {
const page = this.getPageHandle(true);
const selector = `[${_constants.SERIALIZE_PROPERTY}]`;
const hasElem = await page.$eval('html', _getActiveElement.default, _constants.SERIALIZE_PROPERTY);
if (!hasElem) {
throw new Error('no element active');
}
const activeElement = await _findElement.default.call(this, {
using: 'css selector',
value: selector
});
await page.$eval(selector, _cleanUpSerializationSelector.default, _constants.SERIALIZE_PROPERTY);
return activeElement;
}