Ich habe einen Fehler in meinem Script, weiss aber nicht was er damit meint :
Mein Code:
Code:
#include <IE.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
Local $oIE = _IECreate("www.darkorbit.com")
Sleep(3000)
MsgBox(0, "Login", "Bitte Einloggen! Please login!")
$Url = 'http://www.darkorbit.com/'
$User = MsgBox (524288, "Username", "Bitte Username eingeben:")
$Pwd = MsgBox (524288, "Passwort", "Bitte Passwort eingeben:")
$test = _IEAutoLogin($Url, $User, $Pwd)
Func _IEAutoLogin($sUrl, $sUsername, $sPwd)
;funkey 09.09.09
$oIE = _IECreate($sUrl)
_IEErrorNotify(False)
_IEErrorHandlerRegister()
$oForms = _IEFormGetCollection($oIE)
If @error Then
Return SetError(1, _IEErrorHandlerDeRegister(), $oIE) ;'no forms --> no login'
Else
$Index = 0
For $oForm In $oForms
$oFormElements = _IEFormElementGetCollection($oForm)
If IsObj($oFormElements) Then
$IndexElement = 0
For $oElement In $oFormElements
If $oElement.Type = 'password' Then
$oPwd = _IEFormElementGetObjByName($oForm, $oElement.Name)
_IEFormElementSetValue($oPwd, $sPwd)
For $i = $IndexElement - 1 To 0 Step -1
$oUser = _IEFormElementGetCollection($oForm, $i)
If $oUser.Type = 'text' Then
_IEFormElementSetValue($oUser, $sUsername)
ExitLoop
EndIf
Next
If $oForm.action <> "0" And Not StringInStr($oForm.action, '.php') Then ;submit
_IEFormSubmit($oForm, 0)
_IELoadWait($oIE)
Else ;click
For $i = $IndexElement + 1 To $IndexElement + 10 ;check the next 10 elements
$oButton = _IEFormElementGetCollection($oForm, $i)
If $oButton.Type = 'submit' Then
_IEAction($oButton, "click")
ExitLoop
EndIf
Next
EndIf $index += 1
Next
EndIf
Return SetError(2, _IEErrorHandlerDeRegister(), $oIE) ;no password-field found
EndFunc ;==>_IEAutoLogin
Illegal text at the end of statement (one statement per line).
Der Fehler ist in Zeile 52 bei dem $index += 1!
Bitte Hilfe!
DarkPlayer123
GELÖST!
Der richtige Code ist :
Code:
#include <IE.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
Local $oIE = _IECreate("www.darkorbit.com")
Sleep(3000)
MsgBox(0, "Login", "Bitte Einloggen! Please login!")
$Url = 'http://www.darkorbit.com/'
$User = MsgBox (524288, "Username", "Bitte Username eingeben:")
$Pwd = MsgBox (524288, "Passwort", "Bitte Passwort eingeben:")
$test = _IEAutoLogin($Url, $User, $Pwd)
Func _IEAutoLogin($sUrl, $sUsername, $sPwd)
;funkey 09.09.09
$oIE = _IECreate($sUrl)
_IEErrorNotify(False)
_IEErrorHandlerRegister()
$oForms = _IEFormGetCollection($oIE)
If @error Then
Return SetError(1, _IEErrorHandlerDeRegister(), $oIE) ;'no forms --> no login'
Else
$Index = 0
For $oForm In $oForms
$oFormElements = _IEFormElementGetCollection($oForm)
If IsObj($oFormElements) Then
$IndexElement = 0
For $oElement In $oFormElements
If $oElement.Type = 'password' Then
$oPwd = _IEFormElementGetObjByName($oForm, $oElement.Name)
_IEFormElementSetValue($oPwd, $sPwd)
For $i = $IndexElement - 1 To 0 Step -1
$oUser = _IEFormElementGetCollection($oForm, $i)
If $oUser.Type = 'text' Then
_IEFormElementSetValue($oUser, $sUsername)
ExitLoop
EndIf
Next
If $oForm.action <> "0" And Not StringInStr($oForm.action, '.php') Then ;submit
_IEFormSubmit($oForm, 0)
_IELoadWait($oIE)
Else ;click
For $i = $IndexElement + 1 To $IndexElement + 10 ;check the next 10 elements
$oButton = _IEFormElementGetCollection($oForm, $i)
If $oButton.Type = 'submit' Then
_IEAction($oButton, "click")
ExitLoop
EndIf
Next
EndIf
Return SetExtended(_IEErrorHandlerDeRegister(), $oIE)
EndIf
$IndexElement += 1
Next
EndIf
$Index += 1
Next
EndIf
Return SetError(2, _IEErrorHandlerDeRegister(), $oIE) ;no password-field found
EndFunc ;==>_IEAutoLogin







