Shootclick
Новичок
- Сообщения
- 6
- Репутация
- 1
Доброго времени суток!
Не так давно начал изучения языка AutoIT и к моему сожалению не смог сам найти информацию.(если что то не увидел на форуме не ругайтесь).
Начал писать мини бота, для маленькой браузерной игры
teeda.mail.ru
Суть проблемы в том что я не могу понять как мне реализовать условие в котором он:
- будет обновлять страницу до появления определенного текста(ссылки). Если быть более точным, в игре при "Работе", могут напасть монстры, соответственно авто обновления нет, есть кнопка "Обновить", в рандомном случае нападают монстры, соответственно появляется кнопка "Убить монстров"(при этом кнопка "обновить" пропадает).
- при нажатии кнопки "Убить монстров" надо задействовать другие функции, такие как "Бить любого", "Выйти из боя"
-По завершении "Работы", нужно выполнить скрипт заново.
Вот 2 кода программы:
1: Основная программа, запускает IE логинится, нажимает кнопки что бы работать.
Код:
#include <IE.au3>
$oIE = _IECreate("http://teeda.mail.ru/main/login?r=1345764766.3835",0,1,1)
$oForm = _IEFormGetObjByName($oIE,0)
$oLogin = _IEFormElementGetObjByName($oForm,"login")
$oPass = _IEFormElementGetObjByName($oForm,"pass")
_IEFormElementSetValue($oLogin,"imperor krez")
_IEFormElementSetValue($oPass,"gorez130592")
_IEFormSubmit($oForm,1)
_IELinkClickByText($oIE, "Работать")
$oForm = _IEFormGetCollection($oIE, 0)
$oInputs = _IETagNameGetCollection ($oForm, 'input')
For $oInput In $oInputs
If $oInput.type == 'radio' And $oInput.value = '1' Then
_IEAction($oInput, 'click')
ExitLoop
EndIf
Next
$oForm = _IEFormGetCollection($oIE, 0)
$oInputs = _IETagNameGetCollection ($oForm, 'input')
For $oInput In $oInputs
If $oInput.type == 'submit' And $oInput.value = 'работать' Then
_IEAction($oInput, 'click')
ExitLoop
EndIf
Next
sleep(10000)
$oForm = _IEFormGetCollection($oIE, 0)
$oInputs = _IETagNameGetCollection ($oForm, 'input')
For $oInput In $oInputs
If $oInput.type == 'submit' And $oInput.value = 'работать' Then
_IEAction($oInput, 'click')
ExitLoop
EndIf
Next
Exit
2: Выполняет функции обновления, а так же выше написанные действия:
Код:
#include <IE.au3>
$oIE = _IEAttach("Работать")
$i = 0
for $i = 1 to 5
_IEAction ($oIE, 'refresh')
sleep(10000)
next
$killmob = _IELinkClickByText($oIE, "убить монстров")
$killmobfight = _IELinkClickByText($oIE, "бить любого")
$endfight = _IELinkClickByText($oIE, "покинуть бой")
_IELinkClickByText($oIE, "вернуться")
Прошу помочь, сделать так что бы я не запускал программы сам по отдельности, и желательно все это уместить в одном скрипте, так же вылечить от проблемы повторного запуска IE.
Буду благодарен за любую помощь!
P.S. В исходном коде HTML странницы, у кнопки "убить монстров" вместо типа идет Class-in text, а кнопка как гиперсылка, соответственно есть на нее ссылка, если потребуется выложу.
P.S.S Прошу ответ расжевать, для исключения лишних вопросов)