playwright-fluent
Version:
Fluent API around playwright
32 lines (31 loc) • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getViewportRectangleOf = void 0;
async function getViewportRectangleOf(page) {
if (!page) {
throw new Error(`Cannot get the page viewport because no browser has been launched`);
}
const stringifiedResult = await page.evaluate(() => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const viewportRectangle = window.visualViewport;
if (!viewportRectangle) {
return null;
}
const result = {
height: viewportRectangle.height,
offsetLeft: viewportRectangle.offsetLeft,
offsetTop: viewportRectangle.offsetTop,
pageLeft: viewportRectangle.pageLeft,
pageTop: viewportRectangle.pageTop,
scale: viewportRectangle.scale,
width: viewportRectangle.width,
};
return JSON.stringify(result);
});
if (stringifiedResult === null) {
return null;
}
const rectangle = JSON.parse(stringifiedResult);
return rectangle;
}
exports.getViewportRectangleOf = getViewportRectangleOf;
;