Что нового

Ошибка при использовании функции _IELoadWait($oIE)

vcomp71

Осваивающий
Сообщения
431
Репутация
25
Ошибка возникает в функции _IELoadWait() следующем месте:

Код:
Case __IEIsObjType($o_object, "window") ; Window, Frame, iFrame
	While Not (String($o_object.document.readyState) = "complete" Or $o_object.document.readyState = 4 Or $f_Abort)
		If (TimerDiff($IELoadWaitTimer) > $i_timeout) Then
			$i_ErrorStatusCode = $_IEStatus_LoadWaitTimeout
			$f_Abort = True
		EndIf
		; Trap unrecoverable COM errors
			If @error = $_IEStatus_ComError And __IEComErrorUnrecoverable() Then
				$i_ErrorStatusCode = __IEComErrorUnrecoverable()
				$f_Abort = True
			EndIf
				Sleep(100)
			WEnd
			[color=red]WEnd^ ERROR[/color]


Код:
C:\Program Files\AutoIt3\Include\IE.au3 (585) : ==> The requested action with this object has failed.:
WEnd
WEnd^ ERROR

Такое ощущение, что количество циклов while ограничено, и из-за долгого ожидания тут система выпадает?
Кто-нибудь может пояснить что это? И как с этим бороться?
 

darkwhite

Знающий
Сообщения
129
Репутация
5
а может ты ее не так применяешь?где твой код?
 
Автор
vcomp71

vcomp71

Осваивающий
Сообщения
431
Репутация
25
:laugh: А как ее еще применить можно???

Вообщем дело в том, что параметр браузера readyState принимал значение "interactive" и функция не работала. Сделал вот такую вот функцию

Код:
Func Marathon_wait()

	Local $ivv = 0
	While String($oIE.document.readyState) <> "complete"
		$ivv = $ivv + 1
		$ss = String($ivv) & " .document.readyState = " & String($oIE.document.readyState)
	_otc($ss)

	WEnd

EndFunc   ;==>Marathon_wait


Заработала...
 
Верх