UNPKG

playwright-fluent

Version:
26 lines (25 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getClientRectangleOf = void 0; async function getClientRectangleOf(selector, pageOrFrame) { if (!pageOrFrame) { throw new Error(`Cannot get the client rectangle of '${selector}' because no browser has been launched`); } const stringifiedResult = await pageOrFrame.$eval(selector, (el) => { const clientRectangle = el && el.getBoundingClientRect(); const result = { bottom: clientRectangle ? clientRectangle.bottom : 0, height: clientRectangle ? clientRectangle.height : 0, left: clientRectangle ? clientRectangle.left : 0, right: clientRectangle ? clientRectangle.right : 0, top: clientRectangle ? clientRectangle.top : 0, width: clientRectangle ? clientRectangle.width : 0, x: clientRectangle ? clientRectangle.x : 0, y: clientRectangle ? clientRectangle.y : 0, }; return JSON.stringify(result); }); const clientRectangle = JSON.parse(stringifiedResult); return clientRectangle; } exports.getClientRectangleOf = getClientRectangleOf;