ocrWaitForTextDisplayed
Warten, bis ein bestimmter Text auf dem Bildschirm angezeigt wird.
Verwendung
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
});
Ausgabe
Logs
[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.
Optionen
text
- Typ:
string
- Pflichtfeld: ja
Der Text, nach dem Sie suchen möchten, um darauf zu klicken.
Beispiel
await browser.ocrWaitForTextDisplayed({ text: "specFileRetries" });
timeout
- Typ:
number
- Pflichtfeld: nein
- Standard: 18000 (18 Sekunden)
Zeit in Millisekunden. Beachten Sie, dass der OCR-Prozess einige Zeit in Anspruch nehmen kann, stellen Sie ihn daher nicht zu niedrig ein.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries"
timeout: 25000 // 25 Sekunden warten
});
timeoutMsg
- Typ:
string
- Pflichtfeld: nein
- Standard:
Could not find the text "{selector}" within the requested time.
Überschreibt die Standard-Fehlermeldung.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries"
timeoutMsg: "My new timeout message."
});
contrast
- Typ:
number
- Pflichtfeld: nein
- Standard:
0.25
Je höher der Kontrast, desto dunkler das Bild und umgekehrt. Dies kann helfen, Text in einem Bild zu finden. Es akzeptiert Werte zwischen -1
und 1
.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
contrast: 0.5,
});
haystack
- Typ:
number
- Pflichtfeld:
WebdriverIO.Element | ChainablePromiseElement | Rectangle
Dies ist der Suchbereich auf dem Bildschirm, in dem die OCR nach Text suchen soll. Dies kann ein Element oder ein Rechteck sein, das x
, y
, width
und height
enthält.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: $("elementSelector"),
});
// ODER
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: await $("elementSelector"),
});
// ODER
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
haystack: {
x: 10,
y: 50,
width: 300,
height: 75,
},
});
language
- Typ:
string
- Pflichtfeld: Nein
- Standard:
eng
Die Sprache, die Tesseract erkennen wird. Weitere Informationen finden Sie hier und die unterstützten Sprachen finden Sie hier.
Beispiel
import { SUPPORTED_OCR_LANGUAGES } from "@wdio/ocr-service";
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
// Niederländisch als Sprache verwenden
language: SUPPORTED_OCR_LANGUAGES.DUTCH,
});
fuzzyFindOptions
Sie können die Fuzzy-Logik zum Finden von Text mit den folgenden Optionen ändern. Dies kann helfen, eine bessere Übereinstimmung zu finden.
fuzzyFindOptions.distance
- Typ:
number
- Pflichtfeld: nein
- Standard: 100
Bestimmt, wie nahe die Übereinstimmung an der Fuzzy-Position (angegeben durch location) sein muss. Eine exakte Buchstabenübereinstimmung, die distance Zeichen von der Fuzzy-Position entfernt ist, würde als vollständige Nichtübereinstimmung gewertet werden. Eine Entfernung von 0 erfordert, dass die Übereinstimmung an der exakt angegebenen Position liegt. Eine Entfernung von 1000 würde erfordern, dass eine perfekte Übereinstimmung innerhalb von 800 Zeichen der Position gefunden wird, wenn ein Schwellenwert von 0,8 verwendet wird.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
distance: 20,
},
});
fuzzyFindOptions.location
- Typ:
number
- Pflichtfeld: nein
- Standard: 0
Bestimmt ungefähr, wo im Text das Muster voraussichtlich gefunden wird.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
location: 20,
},
});
fuzzyFindOptions.threshold
- Typ:
number
- Pflichtfeld: nein
- Standard: 0.6
An welchem Punkt gibt der Matching-Algorithmus auf. Ein Schwellenwert von 0 erfordert eine perfekte Übereinstimmung (sowohl von Buchstaben als auch von Position), ein Schwellenwert von 1.0 würde alles übereinstimmen.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
threshold: 0.8,
},
});
fuzzyFindOptions.isCaseSensitive
- Typ:
boolean
- Pflichtfeld: nein
- Standard: false
Ob die Suche Groß- und Kleinschreibung berücksichtigen soll.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
isCaseSensitive: true,
},
});
fuzzyFindOptions.minMatchCharLength
- Typ:
number
- Pflichtfeld: nein
- Standard: 2
Nur Übereinstimmungen, deren Länge diesen Wert überschreitet, werden zurückgegeben. (Wenn Sie beispielsweise einzelne Zeichenübereinstimmungen im Ergebnis ignorieren möchten, setzen Sie es auf 2)
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
minMatchCharLength: 5,
},
});
fuzzyFindOptions.findAllMatches
- Typ:
number
- Pflichtfeld: nein
- Standard: false
Wenn true
, wird die Matching-Funktion bis zum Ende eines Suchmusters fortgesetzt, auch wenn bereits eine perfekte Übereinstimmung in der Zeichenfolge gefunden wurde.
Beispiel
await browser.ocrWaitForTextDisplayed({
text: "specFileRetries",
fuzzyFindOptions: {
findAllMatches: 100,
},
});