開始使用
安裝
最簡單的方法是透過以下方式將 @wdio/ocr-service
保留在您的 package.json
中作為依賴項。
- npm
- Yarn
- pnpm
npm install @wdio/ocr-service --save-dev
yarn add @wdio/ocr-service --dev
pnpm add @wdio/ocr-service --save-dev
有關如何安裝 WebdriverIO
的說明,請參閱這裡。
注意
此模組使用 Tesseract 作為 OCR 引擎。預設情況下,它將驗證您的系統上是否已在本機安裝 Tesseract,如果是,則會使用該版本。如果不是,它將使用Node.js Tesseract.js模組,該模組會自動為您安裝。
如果您想加快影像處理速度,建議使用本機安裝的 Tesseract 版本。另請參閱測試執行時間。
有關如何在您的本機系統上將 Tesseract 作為系統依賴項安裝的說明,請參閱這裡。
注意
有關 Tesseract 的安裝問題/錯誤,請參閱Tesseract專案。
Typescript 支援
請確保將 @wdio/ocr-service
新增至您的 tsconfig.json
設定檔。
tsconfig.json
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/ocr-service"]
}
}
設定
若要使用此服務,您需要將 ocr
新增至 wdio.conf.ts
中的服務陣列。
// wdio.conf.js
exports.config = {
//...
services: [
// your other services
[
"ocr",
{
contrast: 0.25,
imagesFolder: ".tmp/",
language: "eng",
},
],
],
};
設定選項
contrast
- 類型:
number
- 強制性: 否
- 預設:
0.25
對比度越高,影像越暗,反之亦然。這有助於在影像中尋找文字。它接受 -1
到 1
之間的值。
imagesFolder
- 類型:
string
- 強制性: 否
- 預設:
{project-root}/.tmp/ocr
儲存 OCR 結果的資料夾。
注意
如果您提供自訂的 imagesFolder
,則服務會自動將子資料夾 ocr
新增至其中。
language
- 類型:
string
- 強制性: 否
- 預設:
eng
Tesseract 將會辨識的語言。更多資訊請參閱這裡,且支援的語言請參閱這裡。
記錄
此模組會自動將額外的記錄新增至 WebdriverIO 記錄。它會將名稱為 @wdio/ocr-service
的內容寫入 INFO
和 WARN
記錄中。以下是一些範例。
...............
[0-0] 2024-05-24T06:55:12.739Z INFO @wdio/ocr-service: Adding commands to global browser
[0-0] 2024-05-24T06:55:12.750Z INFO @wdio/ocr-service: Adding browser command "ocrGetText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrGetElementPositionByText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrWaitForTextDisplayed" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrClickOnText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrSetValue" to browser object
...............
[0-0] 2024-05-24T06:55:13.667Z INFO @wdio/ocr-service:getData: Using system installed version of Tesseract
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: It took '0.351s' to process the image.
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: The following text was found through OCR:
[0-0]
[0-0] IQ Docs API Blog Contribute Community Sponsor Next-gen browser and mobile automation Welcome! How can | help? i test framework for Node.js Get Started Why WebdriverI0? View on GitHub Watch on YouTube
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: OCR Image with found text can be found here:
[0-0]
[0-0] .tmp/ocr/desktop-1716533713585.png
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:ocrGetElementPositionByText: We searched for the word "Get Started" and found one match "Started" with score "63.64
...............