ocrSetValue
Gửi một chuỗi phím nhấn đến một phần tử. Nó sẽ:
- tự động phát hiện phần tử
- đặt focus vào trường bằng cách nhấp vào nó
- thiết lập giá trị cho trường
Lệnh sẽ tìm kiếm văn bản được cung cấp và cố gắng tìm kết quả phù hợp dựa trên Logic Mờ từ Fuse.js. Điều này có nghĩa là nếu bạn cung cấp một bộ chọn có lỗi chính tả, hoặc văn bản được tìm thấy có thể không khớp 100%, nó vẫn sẽ cố gắng trả lại một phần tử. Xem logs bên dưới.
Cách sử dụng
await brower.ocrSetValue({
text: "docs",
value: "specfileretries",
});
Đầu ra
Logs
[0-0] 2024-05-26T04:17:51.355Z INFO webdriver: COMMAND ocrSetValue(<object>)
......................
[0-0] 2024-05-26T04:17:52.356Z INFO @wdio/ocr-service:ocrGetElementPositionByText: We searched for the word "docs" and found one match "docs" with score "100%"
Tùy chọn
text
- Kiểu:
string - Bắt buộc: có
Văn bản bạn muốn tìm kiếm để nhấp vào.
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
});
value
- Kiểu:
string - Bắt buộc: có
Giá trị được thêm vào.
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
});
submitValue
- Kiểu:
boolean - Bắt buộc: không
- Mặc định:
false
Nếu giá trị cũng cần được gửi vào trường nhập liệu. Điều này có nghĩa là phím "ENTER" sẽ được gửi ở cuối chuỗi.
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
submitValue: true,
});
clickDuration
- Kiểu:
number - Bắt buộc: không
- Mặc định:
500mili giây
Đây là thời lượng của cú nhấp chuột. Nếu muốn, bạn cũng có thể tạo một "nhấp chuột kéo dài" bằng cách tăng thời gian.
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
clickDuration: 3000, // Đây là 3 giây
});
contrast
- Kiểu:
number - Bắt buộc: không
- Mặc định:
0.25
Độ tương phản càng cao, hình ảnh càng tối và ngược lại. Điều này có thể giúp tìm văn bản trong hình ảnh. Nó chấp nhận giá trị từ -1 đến 1.
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
contrast: 0.5,
});
haystack
- Kiểu:
number - Bắt buộc:
WebdriverIO.Element | ChainablePromiseElement | Rectangle
Đây là khu vực tìm kiếm trên màn hình nơi OCR cần tìm văn bản. Đây có thể là một phần tử hoặc hình chữ nhật có chứa x, y, width và height
Ví dụ
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
haystack: $("elementSelector"),
});
// HOẶC
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
haystack: await $("elementSelector"),
});
// HOẶC
await browser.ocrSetValue({
text: "WebdriverIO",
value: "The Value",
haystack: {
x: 10,
y: 50,
width: 300,
height: 75,
},
});