0

[Playwright Interview question #15]: Làm thế nào để handle iframe trong Playwright?

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!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.