Simuliert einen Mausklick auf einen Link. Er wird anhand eines angegebenen Textes identifiziert, der in seinem Namen vorkommen muss
#include <IE.au3>
_IELinkClickByText ( ByRef $oObject, $sLinkText [, $iIndex = 0 [, $iWait = 1]] )
| $oObject | Objektvariable einer InternetExplorer.Application, eines Window- oder Frameobjekts |
| $sLinkText | Auf der Webseite angezeigter Text, der den anzuklickenden Link repräsentiert |
| $iIndex | [optional] Gibt den bei 0 beginnenden Index des anzuklickenden Texts an, wenn der Text des Links mehr als einmal vorkommt. |
| $iWait | [optional] Gibt an, ob gewartet werden soll bis die Seite geladen wird. 0 = Nicht warten. 1 = (Standard) Warten, bis die Seite komplett geladen ist. |
| Erfolg: | Nichts. |
| Fehler: | 0 oder -1 und setzt das @error Flag auf ungleich 0 |
| @error: | 1 ($_IEStatus_GeneralError) - Allgemeiner Fehler 2 ($_IEStatus_COMError) - COM Error in Objektreferenz 3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp 4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp 6 ($_IEStatus_LoadWaitTimeout) - Ladezeit überschritten 7 ($_IEStatus_NoMatch) - Keine Übereinstimmung gefunden 8 ($_IEStatus_AccessIsDenied) - Zugriff verweigert 9 ($_IEStatus_ClientDisconnected) - Verbindung abgebrochen |
| @extended: | Beinhaltet Nummer des ungültigen Parameters |
Nicht alle Elemente, die Links zu sein scheinen, sind tatsächlich welche.
Es ist gängige Praxis anderen DOM-Elementen onClick-JavaScript-Events zuzuweisen, die das Verhalten von Links simulieren.
Um solche DOM-Elemente zu aktivieren, sollte die Funktion _IEAction() mit "click" benutzt werden.
_IELinkClickByIndex, _IELoadWait
#include <IE.au3>
; Öffnet Browser mit basic-Beispiel, klickt auf den Link mit dem Text "user forum"
Local $oIE = _IE_Example("basic")
_IELinkClickByText($oIE, "user forum")
#include <IE.au3>
; Öffnet Browser mit der AutoIt-Startseite, durchsucht alle Links
; auf der Seite und klickt auf den Link mit dem Text "wallpaper"
; durch einen Abgleich des Teilstrings.
Local $oIE = _IECreate("http://www.autoitscript.com")
Local $sMyString = "overview"
Local $oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
Local $sLinkText = _IEPropertyGet($oLink, "innerText")
If StringInStr($sLinkText, $sMyString) Then
_IEAction($oLink, "click")
ExitLoop
EndIf
Next