+1

[Playwright Interview question #6]: Làm sao để chờ element xuất hiện trước khi tương tác?

Câu hỏi phỏng vấn #6: Làm sao để chờ element xuất hiện trước khi tương tác?

Trả lời mẫu:

Playwright có nhiều cách để wait for elements:

1. Auto-waiting (Recommended):

// Tự động chờ element visible & enabled
await page.locator('#submit').click();

2. Wait for specific state:

// Chờ element visible
await page.locator('#loading').waitFor({ state: 'visible' });

// Chờ element biến mất
await page.locator('.spinner').waitFor({ state: 'hidden' });

// Chờ element attached to DOM
await page.locator('#dynamic').waitFor({ state: 'attached' });

3. Wait với timeout tùy chỉnh:

await page.locator('#slow-element').waitFor({ 
  state: 'visible',
  timeout: 10000 // 10 seconds
});

4. Wait for multiple conditions:

// Chờ text xuất hiện
await expect(page.locator('.message')).toContainText('Success');

// Chờ element count
await expect(page.locator('.item')).toHaveCount(5);

💡 Tips:

  • Playwright auto-wait mặc định 30 seconds
  • Ưu tiên dùng auto-waiting của Locator API
  • Tránh dùng fixed wait như page.waitForTimeout()
  • Config global timeout trong playwright.config.js

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
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí