Câu hỏi phỏng vấn #15: Làm thế nào để handle iframe trong Playwright?
Trả lời mẫu:
Playwright hỗ trợ iframe handling một cách elegant:
1. Access iframe by selector:
// Get frame by element handle
const frame = page.frameLocator('#my-iframe');
await frame.locator('#button-inside-iframe').click();
2. Multiple nested iframes:
// Chain frameLocator for nested iframes
const frame = page .frameLocator('#outer-frame') .frameLocator('#inner-frame'); await frame.locator('#deep-element').fill('text');
3. Frame by name or URL:
// By name attribute
const frame = page.frame({ name: 'frame-name' }); // By URL
const frame = page.frame({ url: /.*domain.*/ }); // All frames
const frames = page.frame
💡 Tips:
- Use
frameLocator()
cho better auto-waiting - Không cần switch context như Selenium
- Each frame có isolated execution context
- Check frame
.isDetached()
trước khi interact
Lời Kết
Playwright đang trở thành một trong những automation frameworks phổ biến nhất cho web testing. Thông qua series này, hy vọng bạn sẽ:
- Nắm vững kiến thức từ cơ bản đến nâng cao
- Tự tin trong các buổi phỏng vấn
- Áp dụng hiệu quả vào dự án thực tế
- Trở thành một phần của cộng đồng Playwright Việt Nam năng động
📚 Bắt đầu hành trình của bạn với: Bài 1: Playwright vs Selenium
💬 Có câu hỏi? Tham gia group Facebook của chúng mình!
⭐ Theo dõi series để không bỏ lỡ bài viết mới!