Что нового

[Автоматизация] Как поставить задержку для ожидания ввода капчи

axik

Новичок
Сообщения
9
Репутация
0
Код:
#include <IE.au3>

$login = "tapasagriniix";
$pass = "gwacsvwwpod";
$nazvan= 'kilimandjaros';
$nazvanlat = 'kologikolosapok23'

$oIE = _IECreate("http://sites.google.com")
$oForm = _IEFormGetCollection($oIE, 0)
$oTextLogin = _IEFormElementGetObjByName($oForm, "Email") ;Ссылку на логин
$oTextPass = _IEFormElementGetObjByName($oForm, "Passwd") ;Ссылку на пароль
$oSubmit = _IEFormElementGetObjByName($oForm, "signIn")
_IEFormElementSetValue($oTextLogin, $login)
_IEFormElementSetValue($oTextPass, $pass)
_IEAction($oSubmit, 'click')

_IELoadWait($oIE)

$oIE=_IEAttach("Сайты Google")
$oForm = _IEFormGetCollection($oIE, 0)
$button = _IEGetObjById($oForm, "ownerCreateBtn")
_IEAction($button, 'click')
_IELoadWait($oIE)


$oIE=_IEAttach("Сайты Google: создание нового сайта")
$oForm = _IEFormGetCollection($oIE, 0)
$nazvanie = _IEGetObjById($oForm, "siteTitle")
$nazvanielat = _IEGetObjById($oForm, "siteName")
$button = _IEGetObjById($oForm, "createBtn")
_IEFormElementSetValue($nazvanie, $nazvan)
_IEFormElementSetValue($nazvanielat, $nazvanlat)
$oCaptcha = InputBox ( "Форма ввода", "Пожалуйста введите капчу" ) 
$capans = _IEGetObjById($oForm, "captcha_answer")
_IEFormElementSetValue($capans, $oCaptcha)
Sleep(100)
$buttonz = _IEGetObjById($oForm, "createBtn")
_IEAction($buttonz, 'click')



не нажимается кнопка создать, возможно нет ожидания капчи или еще чего-то кто подскажет?
Как поставить задержку или ожидания заполнения формы?


Проверьте код может что-то не то. Все вроде работает. Но на кнопку не нажимает.


p.s можно ли как-то проверить успешность нажатия кнопки, что-то режима откладки как на зеннопостер.
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Код впринципе правильный, а почему не кликает по кнопке, не понятно.
 
Автор
A

axik

Новичок
Сообщения
9
Репутация
0
да код правильный возможно кто то аналог предложит?
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Тут проблема только в последнем клике на кнопку 'создать'. Вероятно это какая-то защита на сайте от подобных автоматизированных действий и когда берётся объект по ID _IeGetObjByID(..), то скорее всего с таким ID может сушествовать другой объект и при использовании дальнейших команд действия происходят не с тем объектом.

Надо пробовать в сторону перебора объектов по тегам через цикл, опираясь на совокупную информацию объекта - тип, класс, ID.
 
Автор
A

axik

Новичок
Сообщения
9
Репутация
0
какая есть функция поиска по классу и по тагу?
а то в документации не нашел
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Код:
_IETagNameGetCollection($oIE, $sTagName)


По классу нету, можно ещё по ID:

Код:
_IEGetObjByID($oIE, $sID)
 
Верх