Vladd13579
Новичок
- Сообщения
- 7
- Репутация
- 0
Пишу скрипт для автоматизации действий на сайте, запускаю,работает некоторое время,потом вылетает ошибка.
The requested action with this object has failed ,почти каждый раз на разной строке ошибка. Уже весь код переписал. Наставил кучу проверок на свойства и "объект ли эта переменная?", не знаю уже что и вписать туда. Всего два клика.
Пожалуйста помогите.
The requested action with this object has failed ,почти каждый раз на разной строке ошибка. Уже весь код переписал. Наставил кучу проверок на свойства и "объект ли эта переменная?", не знаю уже что и вписать туда. Всего два клика.
Пожалуйста помогите.
Код:
#include <IE.au3>
Func Terminate()
Exit 0
EndFunc
_IEErrorHandlerDeregister ()
HotKeySet("{ESC}", "Terminate")
while 1
$oie=_IECreate("https://www.drive2.ru/r/renault/419151/",0,1,1)
;ConsoleWrite(ObjName($oie,2))
;exit 0
$hTimer = TimerInit()
while TimerDiff($hTimer)<120000
if _IELoadWait($oie,100,60000)=0 Then
ConsoleWrite("ошибочка","страничка не прогрузилась за целую минуту!!!")
exit @error
EndIf
while(1)
$oButtons = _IETagNameGetCollection($oIE, 'button')
if VarGetType($oButtons)="Object" Then
ConsoleWrite("обьект1"&@CR)
ExitLoop
Else
sleep(500)
EndIf
WEnd
For $oButton In $oButtons
; ConsoleWrite("стр= "&$oButton.classname&@CR)
if _IEPropertyGet($oButtons,'innertext')<>0 Then
If StringInStr($oButton.classname,"is-off is-pressed")<>0 Then
ConsoleWrite($oButton.classname&" пропустил"&@CR)
ExitLoop
Else
If StringInStr($oButton.classname,"c-like__button js-like-button c-button c-button--solid c-button--l")<>0 Then
if IsObj($oButton)=1 Then
$oButton.Click()
ConsoleWrite($oButton.classname&" нрав"&@CR)
ExitLoop
EndIf
EndIf
EndIf
EndIf
Next
sleep(2000)
while(1)
$oButtons1 = _IETagNameGetCollection($oIE, 'a')
if VarGetType($oButtons1)="Object" Then
ConsoleWrite("обьект2"&@CR)
ExitLoop
Else
sleep(500)
EndIf
WEnd
For $oButton1 In $oButtons1
; ConsoleWrite($oButton.innerHTML&@CR)
if $oButton1.innerHTML=="Случайная машина" Then
$oButton1.Click()
ConsoleWrite("случайная машина"&@CR)
ExitLoop
EndIf
Next
WEnd
_IEQuit($oie)
sleep(1000)
WEnd