|
You last visited: Today at 01:24
Advertisement
[AutoIt] IE.au3 Tutorial
Discussion on [AutoIt] IE.au3 Tutorial within the Coding Tutorials forum part of the General Coding category.
10/11/2011, 00:54
|
#1
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1,829
Received Thanks: 461
|
[AutoIt] IE.au3 Tutorial
Hallo liebe Epvper,
ich habe mich mit der IE.au3 beschäftigt und schreibe nun ein Tutorial über diese UDF.
Inhaltsverzeichnis
-> Einleitung
-> Browser starten
-> Browser in GUI
-> URL aufrufen / wechseln
-> Texte suchen
-> Quelltext auslesen
-> Button's klicken
-> Input's verändern
-> Schlusswort
Einleitung
Ich erstelle diese Tutorial da die IE.au3 nützlich ist, da man mit dieser UDF den Internet Explorer fernsteuern kann.
Viel Spaß beim lesen dieses Tutorials.
Browser starten
Erstmal erstellen wir ein neues AutoIt Skript.
Um den Browser zu starten schreiben wir folgendes in das Skript.
Code:
#include <IE.au3>
$IE = _IECreate ("www.elitepvpers.com",1)
Parameter
 = URL.
Die 1 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.
$IE ist der Browser. Wenn wir dieses Skript nun ausführen wird der Internet Explorer geöffnet und die Seite elitepvpers.com erscheint.
Man kann ebenfalls ein unsichtbares Browserfenster erstellen.
Code:
#include <IE.au3>
$IE = _IECreate("www.elitepvpers.com", 0, 0)
$Ask = MsgBox(4, "Frage", "Das Browser Fenster wird jetzt beendet, soll es zuvor noch 30Sekunden lang angezeigt werden?")
If $Ask = 6 Then
_IEAction($IE, "visible") ; Setzt den IE auf Sichtbar
Sleep(30000)
EndIf
_IEQuit($IE) ; Beendet den IE
Parameter
_IECreate  = URL
Die erste 0*
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
Die zweite 0 gibt an, ob das Browserfenster sichtbar sein soll
0 = Browserfenster ist versteckt
1 = (Standard) Browserfenster ist sichtbar
MsgBox*
4 = Flag
"Frage" = Titel
Das Browser Fenster......? = Inhalt
_IEAction*
$IE = Browser
"visible" = Browser sichtbar machen.
_IEQuit $IE*
*Beendet den IE
$IE ist wieder der Browser.
$Ask ist eine MsgBox die fragt ob das Fenster 30Sekunden lang angezeigt werden soll.
Wenn die Antwort auf $Ask = 6 ist dann wurde mit Ja geantwortet und der Browser wird noch 30Sekunden lang angezeigt.
Man kann natürlich auch mehrere Fenster gleichzeitig erstellen.
Dazu schreiben wir in unser Skript folgendes.
Code:
#include <IE.au3>
_IECreate("www.elitepvpers.com", 1, 1, 0)
_IECreate("www.google.de", 1, 1, 0)
Parameter
 = URL
Erste 1
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
Zweite 1*
Gibt an, ob das Browserfenster sichtbar sein soll
0 = Browserfenster verstecken
1 = (Standard) Browserfenster ist sichtbar
Erste 0*
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
Schon werden Zwei Browserfenster geöffnet.
Einmal mit Google und einmal mit NosHacks.
Browser in GUI
Man kann den Browser auch in einer GUI darstellen lassen.
Dazu schreiben wir das hier in unser Skript.
Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister()
$IE = _IECreateEmbedded()
GUICreate("Beispiel", 1000, 700)
$Browser = GUICtrlCreateObj($IE, 10, 10, 960, 650)
GUISetState()
_IENavigate($IE, "http://www.elitepvpers.com")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
GUIDelete()
Exit
_IEErrorHandlerRegister() dient dazu Fehlermeldungen vom Internet Explorer zu erhalten.
$IE = _IECreateEmbedded() ist der Browser in der GUI.
GUICreate("Beispiel", 1000, 700) ist die GUI und
$Browser = GUICtrlCreateObj($IE, 10, 10, 960, 650) ist das Objekt wo der Browser da gestellt wird.
_IENavigate($IE, "http://www.elitepvpers.com") dient dazu auf eine gewünschte Zeite zu navigieren, im Beispiel elitepvpers.com
Man kann auch mehrere Browser in einer GUI anzeigen lassen.
Als Beispiel verwende ich Zwei.
Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister()
$IE_1 = _IECreateEmbedded()
$IE_2 = _IECreateEmbedded()
GUICreate("Beispiel", 1000, 700)
$GUI_1 = GUICtrlCreateObj($IE_1, 10, 10, 450, 675)
$GUI_2 = GUICtrlCreateObj($IE_2, 530, 10, 450, 675)
GUISetState()
_IENavigate($IE_1, "http://www.google.de")
_IENavigate($IE_2, "http://www.elitepvpers.com")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
GUIDelete()
Exit
Die Funktionen wurden ja oben bereits erklärt 
URL aufrufen / wechseln
Mit der IE.au3 kann man natürlich auch die Seite wechseln.
Als Beispiel nehme ich drei verschiedene Seiten.
Code:
#include <IE.au3>
$IE = _IECreate ("www.google.de")
_IENavigate($IE,"www.elitepvpers.com")
_IENavigate($IE,"www.youtube.de")
_IENavigate($IE,"www.google.de")
_IENavigate dient zum aufrufen der Seite, den Rest kennen wir ja bereits.
Texte suchen
Mit der IE.au3 kann man Texte suchen.
Als Beispiel nehme ich den Body von Google.
Code:
#include <IE.au3>
$URL = "www.google.de"
$IE = _IECreate($URL)
$Text = _IEBodyReadText($IE)
FileWrite("Test.txt",$Text)
Der Body von Google wird in die Datei Test.txt geschrieben.
Quelltext auslesen
Um den Quelltext auszulesen schreiben wir in unser Skript
Code:
#include <IE.au3>
$URL = "www.google.de"
$IE = _IECreate($URL)
$HTML = _IEDocReadHTML($IE)
FileWrite("Test.txt",$HTML)
_IEDocReadHTML($IE) ließt den Quelltext aus.
FileWrite("Test.txt",$HTML) speichert den Quelltext in der Datei Test.txt
Button's klicken
Ich werde den Google Suche Button verwenden.
Code:
#include <IE.au3>
$IE = _IECreate("www.google.de")
$Input = _IEGetObjByName($IE,"q")
_IEFormElementSetValue($Input,"Text")
$Button = _IEGetObjByName ($IE, "btnG")
_IEAction($Button,"click")
_IELoadWait($IE)
$Input ist damit _IEFormElementSetValue($Input,"Text") weiß wo er den Text hinschreiben soll.
$Button = _IEGetObjByName ($IE, "btnG") btnG ist der Name des Buttons.
_IEAction($Button,"click") Klickt den Button.
_IELoadWait($IE) wartet bis der IE geladen hat.
Input's verändern
In diesem Beispiel werde ich die WBB Suchfunktion von AutoIt.de verwenden.
Code:
#include <IE.au3>
$URL = "www.AutoIt.de"
$IE = _IECreate($URL)
$Input = _IEGetObjById($IE, "searchInput")
_IEFormElementSetValue($Input, "Beispiel")
$Input ist die Suchfunktion.
_IEFormElementSetValue($Input, "Beispiel") schreibt Beispiel in die Suchfunktion.
Schlusswort
Ich hoffe euch hat das Tutorial gefallen.
|
|
|
10/11/2011, 12:07
|
#2
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Abgesehen davon, dass das eine Arbeit von maximal 30min war, frage ich mich wer so etwas braucht. Dein Tutorial lohnt sich maximal in Punkt: "Buttons klicken" und "Inputs ändern" und selbst da muss man das eine Auge noch zu kneifen um es als sinnvoll zu erachten. Die Hilfe-Datei erklärt in 95% der Fälle genug zu dem jeweiligen Befehl.
Für die User ist es interessanter etwas zusammenhängendes zu sehen, wie man sich z.b. in Epvp einloggt und was man anschließend damit machen kann usw.
Ein paar Code-Snippets helfen keinem.
Btw.
Warum will man das Rad andauernd neu erfinden?
Schaust du hier:
Und hier:
Ist zwar nett gemeint, aber bringt leider kaum jemanden etwas.
|
|
|
07/05/2012, 00:45
|
#3
|
elite*gold: 466
Join Date: Jul 2010
Posts: 1,801
Received Thanks: 1,378
|
mir hat es vor jahren mal sehr geholfen
|
|
|
11/04/2012, 21:15
|
#4
|
elite*gold: 0
Join Date: Jun 2008
Posts: 51
Received Thanks: 4
|
Frage:
Wieso funktioniert das "klicken" bei mir nicht? 
Mache alles identisch wie im Tut. Es funktioniert bei mir auch nicht am Beispiel google...
|
|
|
01/05/2013, 13:49
|
#5
|
elite*gold: 20
Join Date: Aug 2008
Posts: 100
Received Thanks: 29
|
Hallo,
wie kann ich mit _IE einen Button klicken wenn in Quelltext der Homepage nur
PHP Code:
<input type="submit" value="continue">
zufinden ist ?
|
|
|
01/06/2013, 17:35
|
#6
|
elite*gold: 0
Join Date: Nov 2007
Posts: 15
Received Thanks: 0
|
Ich brauch mal wieder hilfe...
Code:
#include<ie.au3>
For $i = 1 To 94 ; von 1 bis 500
$zeile = FileReadLine(@ScriptDir & "\Spendenlinks.txt",$i +1)
_IECreate($zeile,0)
Sleep(5000)
Next
Autoit liest mir so mehre links aus der txt datei aus und öffnet diese auch, aber wie schaff ich es das nicht 10 fenster gleichzeitig aufploppen sondern alle links nacheinander im selben browser fenster?
ablauf:
datei auslesen > url öffnen > 5sekunden warten > 2te url im bereits vorhanden fenster öffnen > warten > 3 url usw...
|
|
|
01/06/2013, 20:34
|
#7
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by Kreki
Ich brauch mal wieder hilfe...
Code:
#include<ie.au3>
For $i = 1 To 94 ; von 1 bis 500
$zeile = FileReadLine(@ScriptDir & "\Spendenlinks.txt",$i +1)
_IECreate($zeile,0)
Sleep(5000)
Next
Autoit liest mir so mehre links aus der txt datei aus und öffnet diese auch, aber wie schaff ich es das nicht 10 fenster gleichzeitig aufploppen sondern alle links nacheinander im selben browser fenster?
ablauf:
datei auslesen > url öffnen > 5sekunden warten > 2te url im bereits vorhanden fenster öffnen > warten > 3 url usw...
|
Code:
#include<ie.au3>
$form = _IECreate("www.google.de")
For $i = 1 To 94 ; von 1 bis 500
$zeile = FileReadLine(@ScriptDir & "\Spendenlinks.txt",$i +1)
_IENavigate($form, $zeile)
Sleep(5000)
Next
|
|
|
01/06/2015, 17:23
|
#8
|
elite*gold: 15
Join Date: Sep 2014
Posts: 232
Received Thanks: 193
|
Quote:
Originally Posted by Shadow992
Abgesehen davon, dass das eine Arbeit von maximal 30min war, frage ich mich wer so etwas braucht. Dein Tutorial lohnt sich maximal in Punkt: "Buttons klicken" und "Inputs ändern" und selbst da muss man das eine Auge noch zu kneifen um es als sinnvoll zu erachten. Die Hilfe-Datei erklärt in 95% der Fälle genug zu dem jeweiligen Befehl.
Für die User ist es interessanter etwas zusammenhängendes zu sehen, wie man sich z.b. in Epvp einloggt und was man anschließend damit machen kann usw.
Ein paar Code-Snippets helfen keinem.
Btw.
Warum will man das Rad andauernd neu erfinden?
Schaust du hier:
Und hier:
Ist zwar nett gemeint, aber bringt leider kaum jemanden etwas.
|
Also ich finde es Top was er macht !
Hab kurz bei Google "Quelltext auslesen" gegoogelt, zack kam dieser Theard.
LG
|
|
|
01/06/2015, 18:14
|
#9
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by BIG.D
Also ich finde es Top was er macht !
Hab kurz bei Google "Quelltext auslesen" gegoogelt, zack kam dieser Theard.
LG
|
ja da hast du wohl das schlechteste ergebnis von google gefunden.
schön den thread dann nach 4 jahren auch nochmal auszugraben
Edit: Mir fallen sogar grade 3 sinnvollere methoden ein
|
|
|
01/07/2015, 03:05
|
#10
|
elite*gold: 15
Join Date: Sep 2014
Posts: 232
Received Thanks: 193
|
Quote:
Originally Posted by »FlutterShy™
ja da hast du wohl das schlechteste ergebnis von google gefunden.
schön den thread dann nach 4 jahren auch nochmal auszugraben
Edit: Mir fallen sogar grade 3 sinnvollere methoden ein
|
tut mir ja leid ^^
aber dann nenne mir diese doch mal bitte
lg
|
|
|
01/07/2015, 03:58
|
#11
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Winhttp, inetread, tcp
|
|
|
01/07/2015, 05:28
|
#12
|
elite*gold: 15
Join Date: Sep 2014
Posts: 232
Received Thanks: 193
|
Quote:
Originally Posted by »FlutterShy™
Winhttp, inetread, tcp
|
Ich meinte eine Funktion, die zur IE.au3 gehört...
Da ich einen Bot geschrieben habe, der diese Benutzt.
mfg
|
|
|
01/07/2015, 07:58
|
#13
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by BIG.D
Ich meinte eine Funktion, die zur IE.au3 gehört...
Da ich einen Bot geschrieben habe, der diese Benutzt.
mfg
|
da liegt der fehler und genau das meinte ich.
Außerdem hast du nur nach quelltext auslesen gesucht
|
|
|
All times are GMT +1. The time now is 01:24.
|
|