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");