Quote:
Originally Posted by kknb
ah ok funktioniert soweit.
nur hab ich wieder nen problem.
dieser ganze vorgang hier dauert bei mir ganze 5 minuten und 11 sekunden.
Code:
$zeit=TimerInit()
_IENavigate($oIE, "www.ogame.de", 1)
$oForm = _IEFormGetCollection($oIE, 0)
$oUsername = _IEFormElementGetObjByName($oForm, "login")
$oPassword = _IEFormElementGetObjByName($oForm, "pass")
_IEFormElementSetValue($oUsername, $name)
_IEFormElementSetValue($oPassword, $passwort)
$oSelect = _IEFormElementGetObjByName($oForm, "uni_url")
_IEFormElementOptionSelect($oSelect, $server - 1, 1, "byIndex")
_IEFormSubmit($oForm)
;_IELoadWait($oIE)
$source=_IEDocReadHTML($oIE)
$zeitfertig=round(TimerDiff($zeit)/1000,1)
FileWrite("test.txt",$source&@CRLF&$zeitfertig)
FileWrite("test.txt",$zeitfertig)
in der console kommt dann irgendwann diese meldung
Code:
--> IE.au3 V2.4-0 Warning from function _IELoadWait, $_IEStatus_LoadWaitTimeout
|
Ja mir ist aufgefallen , dass _IEFormSubmit verdammt lange wartet (zumindest bei Ogame) . Du solltest deinen Code in das umändern :
PHP Code:
$zeit=TimerInit()
_IENavigate($oIE, "www.ogame.de", 1)
$oForm = _IEFormGetCollection($oIE, 0)
$oUsername = _IEFormElementGetObjByName($oForm, "login")
$oPassword = _IEFormElementGetObjByName($oForm, "pass")
_IEFormElementSetValue($oUsername, $name)
_IEFormElementSetValue($oPassword, $passwort)
$oSelect = _IEFormElementGetObjByName($oForm, "uni_url")
_IEFormElementOptionSelect($oSelect, $server - 1, 1, "byIndex")
_IEFormSubmit($oForm,0)
_IELoadWait($oIE,0,8000)
$source=_IEDocReadHTML($oIE)
$zeitfertig=round(TimerDiff($zeit)/1000,1)
FileWrite("test.txt",$source&@CRLF&$zeitfertig)
FileWrite("test.txt",$zeitfertig)
Das einzige was ich geändert habe , ist das Warten bis die Seite fertig geladen hat bei _IEFormSubmit($oForm) ausgeschalten (es wird nämlich standartmäßig gewartet , aber es gibt kein TimeOut , deswegen dauert es auch solange . Ogame schickt anscheinend andauernd Packets und deswegen wird nicht erkannt , dass die Seite fertig geladen ist)
Und dafür _IeLoadWait wieder reinkommentiert .
Meiner Meinung nach ist es am besten alles warten auszuschalten und dann selbst das "Warten" hinzuzufügen , denn dann kann man ein TimeOut bestimmen .