Bộ chọn
WebDriver Protocol cung cấp một số chiến lược bộ chọn để truy vấn một phần tử. WebdriverIO đơn giản hóa chúng để giữ cho việc chọn phần tử trở nên đơn giản. Xin lưu ý rằng mặc dù lệnh để truy vấn phần tử được gọi là $ và $$, chúng không liên quan gì đến jQuery hoặc Sizzle Selector Engine.
Mặc dù có rất nhiều bộ chọn khác nhau, chỉ một vài trong số chúng cung cấp cách đáng tin cậy để tìm đúng phần tử. Ví dụ, cho nút sau:
<button
id="main"
class="btn btn-large"
name="submission"
role="button"
data-testid="submit"
>
Submit
</button>
Chúng tôi khuyên và không khuyên sử dụng các bộ chọn sau:
| Bộ chọn | Khuyến nghị | Ghi chú |
|---|---|---|
$('button') | 🚨 Không bao giờ | Tệ nhất - quá chung chung, không có ngữ cảnh. |
$('.btn.btn-large') | 🚨 Không bao giờ | Tệ. Gắn liền với kiểu dáng. Rất dễ thay đổi. |
$('#main') | ⚠️ Thỉnh thoảng | Tốt hơn. Nhưng vẫn gắn liền với kiểu dáng hoặc trình lắng nghe sự kiện JS. |
$(() => document.queryElement('button')) | ⚠️ Thỉnh thoảng | Truy vấn hiệu quả, phức tạp để viết. |
$('button[name="submission"]') | ⚠️ Thỉnh thoảng | Gắn liền với thuộc tính name có ngữ nghĩa HTML. |
$('button[data-testid="submit"]') |