框架
介绍
🌐 Introduction
一个页面可以附加一个或多个框架对象。每个页面都有一个主框架,并且页面级交互(如click)默认在主框架中操作。
🌐 A Page can have one or more Frame objects attached to it. Each page has a main frame and page-level interactions (like click) are assumed to operate in the main frame.
一个页面可以通过 iframe HTML 标签附加额外的框架。可以访问这些框架以在框架内进行交互。
🌐 A page can have additional frames attached with the iframe HTML tag. These frames can be accessed for interactions inside the frame.
- Sync
- Async
# Locate element inside frame
# Get frame using any other selector
username = page.frame_locator('.frame-class').get_by_label('User Name')
username.fill('John')
# Locate element inside frame
username = await page.frame_locator('.frame-class').get_by_label('User Name')
await username.fill('John')
框架对象
🌐 Frame objects
可以使用 page.frame() API 访问框架对象:
🌐 One can access frame objects using the page.frame() API:
- Sync
- Async
# Get frame using the frame's name attribute
frame = page.frame('frame-login')
# Get frame using frame's URL
frame = page.frame(url=r'.*domain.*')
# Interact with the frame
frame.fill('#username-input', 'John')
# Get frame using the frame's name attribute
frame = page.frame('frame-login')
# Get frame using frame's URL
frame = page.frame(url=r'.*domain.*')
# Interact with the frame
await frame.fill('#username-input', 'John')