انتقل إلى المحتوى الرئيسي

ocrWaitForTextDisplayed

انتظر ظهور نص محدد على الشاشة.

الاستخدام

await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
});

المخرجات

السجلات

[0-0] 2024-05-26T04:32:52.005Z INFO webdriver: COMMAND ocrWaitForTextDisplayed(<object>)
......................
# ocrWaitForTextDisplayed uses ocrGetElementPositionByText under the hood, that is why you see the command ocrGetElementPositionByText in the logs
[0-0] 2024-05-26T04:32:52.735Z INFO @wdio/ocr-service:ocrGetElementPositionByText: Multiple matches were found based on the word "specFileRetries". The match "specFileRetries" with score "100%" will be used.

الخيارات

text

  • النوع: string
  • إلزامي: نعم

النص الذي تريد البحث عنه للنقر عليه.

مثال

await browser.ocrWaitForTextDisplayed({ text: "specFileRetries" });

timeout

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 18000 (18 ثانية)

الوقت بالميلي ثانية. انتبه إلى أن عملية التعرف الضوئي على النصوص قد تستغرق بعض الوقت، لذا لا تضبطها على قيمة منخفضة جدًا.

مثال

await browser.ocrWaitForTextDisplayed({
text: "specFileRetries"
timeout: 25000 // انتظر 25 ثانية
});

timeoutMsg

  • النوع: string
  • إلزامي: لا
  • القيمة الافتراضية: Could not find the text "{selector}" within the requested time.

يتجاوز رسالة الخطأ الافتراضية.

مثال

await browser.ocrWaitForTextDisplayed({
text: "specFileRetries"
timeoutMsg: "My new timeout message."
});

contrast

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 0.25

كلما زاد التباين، أصبحت الصورة أكثر قتامة والعكس صحيح. هذا يمكن أن يساعد في العثور على نص في الصورة. يقبل قيم بين -1 و 1.

مثال

await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
contrast: 0.5,
});

haystack

  • النوع: number
  • إلزامي: WebdriverIO.Element | ChainablePromiseElement | Rectangle

هذه منطقة البحث في الشاشة حيث يحتاج التعرف الضوئي البحث عن النص. يمكن أن يكون عنصرًا أو مستطيلًا يحتوي على x و y و width و height

مثال

await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: $("elementSelector"),
});

// أو
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: await $("elementSelector"),
});

// أو
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: {
x: 10,
y: 50,
width: 300,
height: 75,
},
});

language

  • النوع: string
  • إلزامي: لا
  • القيمة الافتراضية: eng

اللغة التي سيتعرف عليها Tesseract. يمكن العثور على مزيد من المعلومات هنا ويمكن العثور على اللغات المدعومة هنا.

مثال

import { SUPPORTED_OCR_LANGUAGES } from "@wdio/ocr-service";
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
// استخدام الهولندية كلغة
language: SUPPORTED_OCR_LANGUAGES.DUTCH,
});

fuzzyFindOptions

يمكنك تغيير المنطق الضبابي للعثور على النص باستخدام الخيارات التالية. قد يساعد ذلك في العثور على تطابق أفضل

fuzzyFindOptions.distance

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 100

يحدد مدى قرب التطابق من الموقع الضبابي (المحدد بواسطة الموقع). سيتم تسجيل تطابق حرف بالضبط على بعد مسافة من الموقع الضبابي كعدم تطابق كامل. تتطلب المسافة 0 أن يكون التطابق في الموقع المحدد بالضبط. ستتطلب مسافة 1000 تطابقًا مثاليًا ليكون ضمن 800 حرف من الموقع ليتم العثور عليه باستخدام عتبة 0.8.

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
distance: 20,
},
});

fuzzyFindOptions.location

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 0

يحدد تقريبًا أين في النص من المتوقع العثور على النمط.

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
location: 20,
},
});

fuzzyFindOptions.threshold

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 0.6

متى يستسلم خوارزمية المطابقة. تتطلب عتبة 0 تطابقًا مثاليًا (للأحرف والموقع)، وستطابق عتبة 1.0 أي شيء.

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
threshold: 0.8,
},
});

fuzzyFindOptions.isCaseSensitive

  • النوع: boolean
  • إلزامي: لا
  • القيمة الافتراضية: false

ما إذا كان البحث يجب أن يكون حساسًا لحالة الأحرف.

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
isCaseSensitive: true,
},
});

fuzzyFindOptions.minMatchCharLength

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 2

سيتم إرجاع التطابقات التي يتجاوز طولها هذه القيمة فقط. (على سبيل المثال، إذا كنت تريد تجاهل تطابقات الحرف الواحد في النتيجة، اضبطها على 2)

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
minMatchCharLength: 5,
},
});

fuzzyFindOptions.findAllMatches

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: false

عندما تكون true، ستستمر وظيفة المطابقة حتى نهاية نمط البحث حتى لو تم بالفعل تحديد موقع تطابق مثالي في السلسلة.

مثال
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
findAllMatches: 100,
},
});

Welcome! How can I help?

WebdriverIO AI Copilot