import { Browser, chromium, FrameLocator, Locator, Page, expect } from '@playwright/test';
(async () => {
const browser: Browser = await chromium.launch({ headless: false, channel: 'chrome' });
const page: Page = await browser.newPage();
await page.goto('/playwright/frames/index.html');
const formFrame: FrameLocator = page.frameLocator("iframe[id*='frame-one']");
await formFrame.locator('#RESULT_TextField-1').fill('Test Automation');
const previewTitle = await page.locator('h3.details__form-preview-title').innerText();
console.log(previewTitle);
await page.goto('/playwright/frames/multi-frames.html');
const mainFrame: FrameLocator = page.frameLocator("[name='main']");
const header = await mainFrame.locator('h2').innerText();
console.log(header);
const allFrames: Locator[] = await page.locator('//frame').all();
console.log('total number of frames: ' + allFrames.length);
for (const frameEle of allFrames) {
console.log(await frameEle.getAttribute('name'), ': ', await frameEle.getAttribute('src'));
}
console.log(page.frames().length);
})();