so ich habe nun das Fenster anders abgefragt. und ich habe die Arrey`s noch mal geprüft. jetzt scheint es zu klappen. Danke.
DANKE.
das ist der Aktuelle Code:
AutoIt: Web-test_20_10_16.au3
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.2
Author:
Quelle:
Dateiname: Web-test_20_10_16.au3
Script Function: Webseite auslesen
Beschreibung: Öffnet den Internet Explorer, ....
#ce ----------------------------------------------------------------------------
#include <IE.au3> ; Funkzionen für den Internet Explorer laden
#include<Date.au3> ; Funkzionen füs Datum laden
OnAutoItExitRegister("onExit") ; Was alles gemacht werden muss wenn das Script beendet wurde
$sURL = "http://www.e-bay.de/"
$File_name = "/Datei_Name.txt"
$oIE = _IECreate($sURL) ; Öffnet den Internet Explorer
$hIE = HWnd($oIE.HWND) ;Fensterhandle (eindetuige Identifikationsnummer) abfragen
HotKeySet("^{SPACE}", "hotkeyPressed") ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
while WinExists($hIE) ;Warten, dass das Fenster nicht mehr existiert
sleep(1000) ; Warten für 1.000 milli sekunden
WEnd
Func hotkeyPressed() ; Funktion Start
$sSource = _IEDocReadHTML($oIE) ; Aktuellen Quelltext aus dem Internet Explorer Lesen
#cs ----------------------------------------------------------------------------
1) Datum lesen
2) Herstellernummer lesen
3) EAN lesen
4) WebLink lesen
5) Liferanten lessen
6) EK lesen
7) Daten Suchen und ersätzen in gelesenen Werten
8) Datei Öffnen
9) Daten Schreiben
10) Datei Schlißen
11) Ausgabe
#ce ----------------------------------------------------------------------------
; 1) bis 6)
$aDatum = _NowDate()
$aURL = _IEPropertyGet($oIE, "locationurl")
$aHerstellernummer = StringRegExp($sSource, "(?s)<td><strong>Herstellernummer</strong></td>\s*<td>(\d+)</td>", 3)
If IsArray($aHerstellernummer) Then
$Herstellernummer = $aHerstellernummer[0]
Else
$Herstellernummer = "# NV #"
EndIf
$aEAN = StringRegExp($sSource, "(?s)<td><strong>EAN</strong></td>\s*<td>(\d+)</td>", 3)
If IsArray($aEAN) Then
$EAN = $aEAN[0]
Else
$EAN = "# NV #"
EndIf
$aLiName = StringRegExp($sSource, "<input name=""name"" type=""hidden"" value=""(.+)"">", 3)
$aEK = StringRegExp($sSource, "<td class=""align-right"">(.+)€</td>", 3)
; 7)
For $i = 0 to UBound($aEK)-1
$aEK[$i] = StringReplace ($aEK[$i], ".", ",")
Next
For $i = 0 to UBound($aLiName)-1
$aLiName[$i] = StringReplace ($aLiName[$i], "&", "&")
Next
; 8)
If Not FileExists(@DesktopDir & $File_name) then
$File = FileOpen(@DesktopDir & $File_name, 2) ; Datei Erstellen und öffnen
FileWrite($File, "Datum; Herstellernummer; EAN; Lieferantenname; EK; URL"& @CRLF)
Else
$File = FileOpen(@DesktopDir & $File_name, 1) ; Datei Existirtbereits, Öffnen und ans Ende schreiben
EndIf
If $File = -1 Then ; Pfüfen ob die Datei richtig geöffnet wurde
MsgBox(0, "Fehler", "Datei kann nicht geöffnet werden.")
Exit
EndIf
; 9)
; Daten aufbereiten
; Daten Schreiben
For $i = 0 To UBound ($aEK)-1
FileWrite($File, $aDatum & "-" & @hour & ":" & @min & ":" & @sec & ";" & $Herstellernummer & ";" & $EAN & ";" & $aLiName[$i] & ";" & $aEK[$i] & ";" & $aURL & @CRLF)
Next
; 10)
FileClose($File)
; 11)
; Arrey Löschen
Dim $aHerstellernummer[UBound($aHerstellernummer,1)]
Dim $aEAN[UBound($aEAN,1)]
Dim $aLiName[UBound($aLiName,1)]
Dim $aEK[UBound($aEK,1)]
MsgBox (64, "Perfekt", "Lesen und Speichern", 0.5)
_IENavigate($oIE, $sURL)
EndFunc ; ==> hotkeyPressed
Func onExit() ; Funktion Start
_IEQuit($oIE) ; Internet Explorer Schlißen
MsgBox (0,"onExit", "Danke, AutoIT-Script ist beendet!") ; Info Box, als Debug damit cih weis wann die Func ausgefürt wird
Exit ; AutoIt programm beenden
EndFunc ; ==> onExit ; Funktion Ende
Alles anzeigen