跳到主要內容

框架

簡介

一個 Page 可以附加一個或多個 Frame 物件。每個頁面都有一個主要框架,並且頁面層級的互動 (例如 click) 預設在主要框架中運作。

頁面可以透過 iframe HTML 標籤附加額外的框架。這些框架可以被存取,以便在框架內進行互動。

// Locate element inside frame
var username = await page.FrameLocator(".frame-class").GetByLabel("User Name");
await username.FillAsync("John");

框架物件

可以使用 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");