playwright-fluent
Version:
Fluent API around playwright
22 lines (21 loc) • 1.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchFromSelectorObjectToIframe = void 0;
const utils_1 = require("../../../utils");
const handle_actions_1 = require("../../handle-actions");
const dom_actions_1 = require("../../dom-actions");
async function switchFromSelectorObjectToIframe(selector, pageProviderOrPageInstance, options) {
const pageOrFrame = (0, dom_actions_1.getPageFrom)(pageProviderOrPageInstance);
if (!pageOrFrame) {
throw new Error(`Cannot switch to iframe from '${selector.toString()}' because no browser has been launched`);
}
(0, utils_1.report)('waiting for the selector to appear in DOM ...', options.verbose);
await (0, utils_1.waitUntil)(() => selector.exists(), `Cannot switch to iframe from '${selector.toString()}' because this selector was not found in DOM`, {
...options,
throwOnTimeout: true,
wrapPredicateExecutionInsideTryCatch: true,
});
const handle = await selector.getHandle();
return (0, handle_actions_1.switchFromHandleToIframe)(handle, selector.toString(), pageOrFrame, options);
}
exports.switchFromSelectorObjectToIframe = switchFromSelectorObjectToIframe;
;