Перейти к основному содержимому

Frames

Введение

[Страница] может иметь один или несколько объектов Frame, прикрепленных к ней. Каждая страница имеет основной фрейм, и взаимодействия на уровне страницы (например, click) предполагается, что они выполняются в основном фрейме.

Страница может иметь дополнительные фреймы, прикрепленные с помощью HTML-тега iframe. Эти фреймы могут быть доступны для взаимодействий внутри фрейма.

// Найти элемент внутри фрейма
var username = await page.FrameLocator(".frame-class").GetByLabel("User Name");
await username.FillAsync("John");

Объекты Frame

Можно получить доступ к объектам фреймов, используя API Page.Frame():

// Создать страницу.
var page = await context.NewPageAsync();

// Получить фрейм, используя атрибут имени фрейма
var frame = page.Frame("frame-login");

// Получить фрейм, используя URL фрейма
var frame = page.FrameByUrl("*domain.");

// Получить фрейм, используя любой другой селектор
var frameElementHandle = await page.EvaluateAsync("window.frames[1]");
var frame = await frameElementHandle.ContentFrameAsync();

// Взаимодействовать с фреймом
await frame.FillAsync("#username-input", "John");