框架 (Frames)
簡介
一個 Page 可以附加一個或多個 Frame 物件。每個頁面都有一個主框架,並且假設頁面級互動(如 click
)在主框架中操作。
一個頁面可以附加額外的框架,使用 iframe
HTML 標籤。這些框架可以被訪問以進行框架內的互動。
// Locate element inside frame
var username = await page.FrameLocator(".frame-class").GetByLabel("User Name");
await username.FillAsync("John");
Frame 物件
可以使用 Page.Frame() API 訪問框架物件:
// Create a page.
var page = await context.NewPageAsync();
// Get frame using the frame's name attribute
var frame = page.Frame("frame-login");
// Get frame using frame's URL
var frame = page.FrameByUrl("*domain.");
// Get frame using any other selector
var frameElementHandle = await page.EvaluateAsync("window.frames[1]");
var frame = await frameElementHandle.ContentFrameAsync();
// Interact with the frame
await frame.FillAsync("#username-input", "John");