Vom Recorder-Paket verwendete Suchkriterien

Wenn Sie mit dem Recorder-Paket ein Nutzeroberflächen-Steuerelement (UI-Steuerelement) aufzeichnen, werden eine Reihe von Eigenschaften erfasst. Anhand dieser Eigenschaften wird dann während der Laufzeit das erfasste UI-Steuerelement identifiziert und mit ihm interagiert.

Die mit dem Recorder erfassten Steuerelemente werden als Objekte bezeichnet. Wenn der Recorder ein Objekt erfasst, werden alle möglichen Eigenschaften erfasst, die das Objekt eindeutig identifizieren. Die ausgewählten Eigenschaften werden als „Suchkriterien“ eingesetzt, um während der Laufzeit das Steuerelement in der Zielanwendung zu suchen und zu finden.

Während der Bot-Ausführung durchläuft der Recorder die Steuerelement-Struktur der Zielanwendung und wählt das Steuerelement aus, das den gespeicherten Eigenschaften – den Suchkriterien – entspricht.

Standardmäßig wählt der Recorder je nach Technologie die bestmöglichen Suchkriterien für ein aufgezeichnetes Steuerelement. Bots können jedoch auf Probleme stoßen, wenn sie versuchen, zuvor aufgezeichnete UI-Steuerelemente zu finden. Einige der häufigsten Gründe für ein solches Fehlschlagen sind unter anderem die folgenden:

  • Dynamische Eigenschaften: Wenn sich die Eigenschaften der erfassten Elemente bei jeder Sitzung oder bei jedem Laden einer Seite ändern und die Suchkriterien eine der dynamischen Eigenschaften enthalten, kann der Bot während der Laufzeit fehlschlagen.
  • Häufige Änderungen der Nutzeroberfläche: Wenn die Zielanwendung häufig mit Änderungen der Nutzeroberfläche (UI) aktualisiert wird und sich die Eigenschaften der aufgezeichneten UI-Steuerelemente ändern, können Bots bei dem Versuch, die aufgezeichneten Steuerelemente zu erkennen, auf Probleme stoßen.
  • Steuerelemente mit doppelten Eigenschaften: Wenn es mehrere Steuerelemente mit gleichen Eigenschaften gibt, kann dies entweder zu unbeabsichtigten Ergebnissen führen oder dazu, dass der Bot die Steuerelemente nicht erkennt.

Wenn sich Ihre Bots in solchen Situationen ausschließlich auf die vom Recorder erfassten Standardsuchkriterien verlassen, können sie Schwierigkeiten haben, die erfassten Steuerelemente zu erkennen. Die erfassten Suchkriterien funktionieren konsistent, solange es keine anderen Objekte gibt, die den Kriterien entsprechen, oder die Objekte selbst nicht regelmäßig aktualisiert werden. Daher müssen Sie nach der Aufzeichnung von UI-Steuerelementen diese Faktoren berücksichtigen und versuchen, Suchkriterien zu konfigurieren, mit denen Ihr Bot die aufgezeichneten Steuerelemente zum Zeitpunkt der Bot-Ausführung eindeutig identifizieren kann.

Such- und Validierungseigenschaften für HTML-Technologie

Suchkriterien sind eine Kombination aus Suchobjekt- und Validierungseigenschaften.

Suchobjekt-Eigenschaften: Diese Eigenschaften werden verwendet, um das Objekt auf der HTML-Seite zu finden. Die folgenden Eigenschaften werden für die Suche nach dem Objekt verwendet.
  • HTML Class
  • HTML ID
  • HTML Name
  • HTML FrameSrc
  • HTML Tag
  • HTML Type
  • HTML InnerText
  • HTML FramePath
  • DOMXPath
  • Pfad
  • HTML-HasFrame
  • FrameDOMXPath
Validierungseigenschaften: Diese Eigenschaften werden erst validiert, nachdem das Objekt gefunden wurde. Die folgenden Eigenschaften werden für die Validierung verwendet.
  • HTML Class
  • HTML Height
  • HTML Href
  • HTML ID
  • HTML Left
  • HTML Name
  • HTML Parent
  • HTML SourceIndex
  • HTML Tag
  • HTML Title
  • HTML Top
  • HTML Type
  • HTML Value
  • HTML Width
  • HTML InnerText
  • InnerHTML
  • OuterHTML
  • IsVisible

Beispiel für dynamische Eigenschaften und die Verwendung benutzerdefinierter Suchkriterien

Angenommen, bestimmte Eigenschaften einer Webseite, die Sie aufzeichnen möchten, ändern sich bei jeder Sitzung. Die Einbeziehung der Eigenschaften, die sich ändern, führt dazu, dass der Bot die Steuerelemente nicht erkennt. Betrachten Sie zum Beispiel die im folgenden Video gezeigte beispielhafte Anmeldeseite. Die ID-Eigenschaft der Schaltfläche „Anmelden“ ändert sich bei jedem Laden der Seite.

Wenn Sie die Schaltfläche „Anmelden“ auf der Seite aufzeichnen, erfasst der Recorder die ID als eine der Standardeigenschaften.


Beispiel für eine dynamische Objekteigenschaft

Wenn Sie den Bot ausführen, ohne die Suchkriterien zu aktualisieren, schlägt der Bot während der Laufzeit fehl, weil sich die ID der Anmeldeschaltfläche bei jedem Laden der Seite ändert.

Fehler bei den Suchkriterien

Da sich die ID-Eigenschaft ständig ändert, schlägt der Bot fehl, weil er die Anmeldeschaltfläche mit der zuvor erfassten ID nicht finden kann. Die Verwendung der ID-Eigenschaft ist in diesem Szenario also nicht möglich. Das Problem lässt sich leicht beheben, indem Sie die Eigenschaft „ID“ löschen und die Eigenschaft innerHTML auswählen, wie im folgenden Video gezeigt. Auf diese Weise sucht der Bot nicht nach einem Steuerelement mit der ID „btn1696911842030-8845“. Stattdessen verwendet er die Kombination der Eigenschaften DOMXPath und innerHTML, um das Steuerelement eindeutig zu identifizieren.

Überlegungen zum Ändern von Objekteigenschaften in HTML

Beachten Sie die folgenden Faktoren, wenn Sie UI-Steuerelemente mit dem Recorder-Paket erfassen:
  • Wenn die Webseite, die Sie aufzeichnen möchten, dynamische Eigenschaften besitzt, lassen Sie diese aus den aufgezeichneten Objekteigenschaften aus. Wählen Sie stattdessen Eigenschaften aus, die sich während der Laufzeit nicht ändern.
  • Wenn es mehrere UI-Steuerelemente mit gleichen Eigenschaften gibt, wählen Sie Eigenschaften aus, die ein bestimmtes UI-Steuerelement eindeutig identifizieren können. Wenn beispielsweise mehrere Schaltflächen vom Typ „Schaltfläche“ vorhanden sind und der „innerHTML“-Text (Schaltflächenbeschriftung) für jede Schaltfläche unterschiedlich ist, hilft es, „innerHTML“ als eine der Eigenschaften zur Identifizierung des Steuerelements während der Laufzeit zu verwenden.
  • Verwenden Sie einen dynamischen oder relativen „DOMXPath“, der auch bei Layoutänderungen funktioniert. Vermeiden Sie die Verwendung statischer „DOMXPaths“ für den Fall, dass sich das Layout ändert oder dynamische Steuerelemente zur Nutzeroberfläche hinzugefügt werden.
  • Verwenden Sie einen Platzhalter (*), wenn bestimmte Zeichen der Eigenschaftswerte dynamisch sind.