Добрый день, из кусков разных скриптов я собрал скрипт который в принципе делает то, что мне нужно, но в нем есть одна проблемка. Иногда скрипт не кликает по нужному мне месту и за того, что браузер не прогружает страницу.И получается что скрипт как бы выполнился, но задачу не выполнил. Мне нужно чтобы скрипт в случае несовпадения цвета в конце, возвращался в начало скрипта с теми же вводимыми данными (они берутся из текстового файла). Сразу извиняюсь за возможный идиотизм в коде
Код:
#include <AutoItConstants.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Local $hFile, $sEMail
$hFile = FileOpen(@ScriptDir & '\golos.txt')
while 1
while 1
Sleep(35000) ; Сюда должен вернутся скрипт в случае несовпадения.
$var = PixelGetColor(832, 138)
$cvet =0x292929
if $var =$cvet Then
MouseClick('Left', 999, 53)
sleep(1000)
MouseClick('Left', 833, 466)
Sleep(1000)
Send("Войдите")
sleep(3000)
$Pos = PixelSearch(15, 7, 1020, 977, 0x38D878)
if IsArray($Pos) Then MouseClick("left", ($Pos[0]+20), ($Pos[1]+10))
Sleep (15000)
MouseClick('Left',476,634)
Sleep(1000)
$sEMail = FileReadLine($hFile) ; $sEMail должен остаться тем же, в случае несовпадения, если совпадает то скрипт берет следующий sEMail.
If @error Then $hFile = FileOpen(@ScriptDir & '\golos.txt')
Send ($sEMail)
Sleep(1000)
MouseClick('Left',473,697)
Sleep(1000)
Send ($sEMail)
Sleep(1000)
MouseClick('Left',400,746)
Sleep(5000)
MouseClick('Left', 999, 53)
sleep(1000)
MouseClick('Left', 833, 466)
Sleep(2000)
Send("кнопку")
Sleep(4000)
Local $aCoord = PixelSearch(15, 7, 1020, 977, 0x38D878)
If Not @error Then
MouseClickDrag($MOUSE_CLICK_LEFT, $aCoord[0], $aCoord[1], ($aCoord[0]+500), $aCoord[1])
EndIf
Sleep(3500)
MouseClick('Left', 999, 53)
sleep(1000)
MouseClick('Left', 833, 466)
Sleep(1000)
Send("Пример")
sleep(2000)
$Pos1 = PixelSearch(15, 7, 1020, 977, 0xBD362F)
if IsArray($Pos1) Then MouseClick("left", ($Pos1[0]), ($Pos1[1]))
Sleep(15000)
$var1 = PixelGetColor(797, 200)
$cvet2 =0xD9EDF7
if $var1 <> $cvet2 Then ; На этом моменте мне нужно проверить совпадение цвета, если цвет не совпадает, то скрипт должен вернутся к 10 строке. При этом вернутся он должен с той же переменной $sMail и попробовать ввести их снова.
MouseClick('Left',33,51)
Sleep(1000)
MouseClick('Left',91,86)
ExitLoop
Endif
MouseClick('Left',33,51)
Sleep(1000)
MouseClick('Left',91,86)
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Wend