Что нового

[Сеть, интернет] Проблема в реализации условий

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 Прошу ответ расжевать, для исключения лишних вопросов)
 
Верх