Funktionreferenz


_IECreate

Beschreibung anzeigen in

Erstellt ein Internet-Explorer-Fenster

#include <IE.au3>
_IECreate ( [$sUrl = "about:blank" [, $iTryAttach = 0 [, $iVisible = 1 [, $iWait = 1 [, $iTakeFocus = 1]]]]] )

Parameter

$sUrl [optional] Gibt an, welche Url beim Erstellen aufgerufen werden soll
$iTryAttach [optional] Gibt an, ob versucht werden soll, ein vorhandenes IE-Fenster (weiter) zu nutzen
    0 = (Standard) Nicht versuchen, ein vorhandenes Fenster zu nutzen
    1 = Versuchen, ein vorhandenes Fenster zu nutzen
$iVisible [optional] Gibt an, ob das Browserfenster sichtbar sein soll
    0 = Browserfenster ist versteckt
    1 = (Standard) Browserfenster ist sichtbar
$iWait [optional] Legt fest, ob die erste Seite geladen werden soll, bevor der nächste Befehl im Skript ausgeführt wird
    0 = Sofort nächsten Befehl ausführen, nicht warten bis die Seite geladen ist
    1 = (Standard) Warten bis die Seite geladen ist
$iTakeFocus [optional] Legt fest, ob ein weitergenutztes Fenster den Fokus erhalten soll
    0 = Fenster nicht fokussieren
    1 = (Standard) Fenster fokussieren

Rückgabewert

Erfolg: eine Objektvariable, die auf ein InternetExplorer.Application-Objekt verweist
Fehler: Setzt das @error Flag auf ungleich null
@error: 1 ($_IEStatus_GeneralError) - Allgemeiner Fehler
3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp
4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp
6 ($_IEStatus_LoadWaitTimeout) - Zeitüberschreitung beim Laden
8 ($_IEStatus_AccessIsDenied) - Zugriff verweigert
9 ($_IEStatus_ClientDisconnected) - Verbindung getrennt
@Extended: Wird auf true (1) oder false (0) gesetzt, je nachdem, ob $iTryAttach erfolgreich war.

Bemerkungen

Wenn man tryAttach verwendet, gibt es einen No-Match-Fehler in der Konsole durch _IEAttach(). Das kann mit der Funktion _IEErrorNotify() beeinflusst werden.

Wenn man eine lokale HyperTextApplication (.hta) öffnet, wird der Internet Explorer einen neuen Browserprozess starten, der nicht mit dem Objekt von _IECreate() gesteuert werden kann.
Um das neue Browserfenster anzusteuern, muss man _IEAttach mit der "embedded"-Option benutzen.

Wenn der Browser eine URL laden soll, die in einer anderen Sicherheitszone liegt, wird ab Windows Vista wird ein neues Browser Fenster erstellt. Dies erhöht die Sicherheit.
Dies geschieht auch bei dem ersten erstellen und wenn die Seite durch _IECreate() erstellt wurde.
Das neue Fenster ist eine neue Browserinstanz und vorherige Browserinstanzen haben keinen Bezug mehr darauf.
Es gibt verschiedene Möglichkeiten dies zu umgehen:
    1) Es kann #RequireAdmin in dem Code hinzugefügt werden (dies ist notwendig, wenn der Account ein Teil der Administratorgruppe ist und fordert gegebenenfalls die Administrator-Benutzerkennung).
    2) Es kann _IEAttach() verwendet werden um es an ein neues Browser Fenster anzuhängen.
    3) Es kann die Zielwebseite zu der vertrauten Sicherheitszone im Internet Explorer hinzugefügt werden.
    4) Es kann der "geschützte Modus" im Internet Explorer abgeschaltet werden.
    5) Es kann die Benutzerkontensteuerung (UAC) abgeschaltet werden. Jedoch muss man sich im Klaren sein, was es bedeutet, wenn man die Sicherheitsfeatures des Internet Explorers abschaltet, wenn man ungeschützte Seiten besucht.

Verwandte Funktionen

_IEAttach, _IECreateEmbedded, _IELoadWait, _IENavigate, _IEQuit

Beispiel

Beispiel 1

#include <IE.au3>

; Erstellt ein Browserfenster und navigiert zu einer Webseite.

Local $oIE = _IECreate("www.autoit.de")

Beispiel 2

#include <IE.au3>

;Erstellt neue Browserfenster, die 3 verschiedene URL zeigen, auch wenn noch keine existiert ($f_tryAttach = 1) nicht warten, bis die Seite fertig geladen ist ($f_wait = 0).

_IECreate("www.autoitscript.com", 1, 1, 0)
_IECreate("http://www.autoit.de/hilfe/", 1, 1, 0)
_IECreate("www.metager2.de", 1, 1, 0)

Beispiel 3

#include <IE.au3>
#include <MsgBoxConstants.au3>

;Versucht einen bereits existierenden Browser anzusprechen, der eine spezielle Webseiten-URL anzeigt.
; Erstellt einen neuen Browser und navigiert zu dieser Seite, falls sie noch nicht existiert.

$oIE = _IECreate("www.autoit.de", 1)
; Der Wiedergabewert @extended muss überprüft werden, um zu checken, ob das Verbinden erfolgreich war.
If @extended Then
    MsgBox($MB_SYSTEMMODAL, "", "An existierenden Browser angehängt")
Else
    MsgBox($MB_SYSTEMMODAL, "", "Neuen Browser erzeugt")
EndIf


Beispiel 4

#include <IE.au3>

; Erstellt ein leeres Browserfenster und versieht es mit eigenem HTML-Text.

Local $oIE = _IECreate()
Local $sHTML = "<h1>Hallo Welt!</h1>"
_IEBodyWriteHTML($oIE, $sHTML)

Beispiel 5

; Erstellt ein Browser-Fenster, welches an eine neue Instanz von iexplore.exe angehängt wird.
; Dies ist oft notwendig, um einen neuen Cookie-Kontext der Sitzung zu erhalten.
; (Sitzungs-Cookies sind für alle Browserinstanzen, die die gleiche iexplore.exe verwenden).

#include <IE.au3>

Opt("WinTitleMatchMode", 2)

ShellExecute("iexplore.exe", "about:blank")
WinWait("Windows Internet Explorer")

Local $oIE = _IEAttach("about:blank", "url")
_IELoadWait($oIE)
_IENavigate($oIE, "www.autoitscript.com")

Beispiel 6

;Erstellt ein unsichtbares Browserfenster, navigiert zu einer
;               Webseite, fragt Informationen ab und schließt den Browser.


#include <MsgBoxConstants.au3>
#include <IE.au3>

$oIE = _IECreate("http://dict.leo.org", 0, 0)
Local $oElement = "keywords"
; Zeigt den "content" des Elementes mit dem Namen "keywords" auf der Seite an.
Local $oInfo = _IEGetObjByName($oIE, $oElement)
MsgBox($MB_OK, "Objektinformation: " & $oElement, $oInfo.content)
_IEQuit($oIE)