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,
},
});