Есть скрипт вводящий ПИН на определенном сайте , бывает так, что сессия не была завершена и сайт сообщает об этом: "Сессия уже открыта!" и требуется нажать ссылку "Продолжить!"
Сделал проверку текста на присутствие "Сессия уже открыта!", скрипт проверку производит и даже нажимает ссылку "Продолжить!", но после EndIf выполнение останавливается, похоже, что переменные $oIE и остальные стираются. Как сделать переменные постоянными? Повторное декларирование переменных решает проблему, но мне хотелось бы устанавливать переменные только один раз.
Запускаю:
Получаю ошибку:
Warning from function _IEFormGetObjByName, $_IESTATUS_NoMatch
--> IE.au3 T3.0-1 Error from function _IEFormElementGetObjByName, $_IESTATUS_InvalidDataType
Если повторно декларировать переменные:
В таком варианте все ОК
Сделал проверку текста на присутствие "Сессия уже открыта!", скрипт проверку производит и даже нажимает ссылку "Продолжить!", но после EndIf выполнение останавливается, похоже, что переменные $oIE и остальные стираются. Как сделать переменные постоянными? Повторное декларирование переменных решает проблему, но мне хотелось бы устанавливать переменные только один раз.
Запускаю:
Код:
$oIE = _IEAttach("local", "title")
_IELoadWait($oIE)
$o_form = _IEFormGetObjByName($oIE, "fPIN")
$o_password = _IEFormElementGetObjByName($o_form, "pin")
$o_Text = _IEPropertyGet ( $oIE, "innertext" )
If StringInStr($o_Text, "Сессия уже открыта!" ) Then
_IELinkClickByText($oIE, "Продолжить!")
_IELoadWait($oIE)
EndIf
_IELoadWait($oIE)
_IEFormElementSetValue($o_password, "123456")
sleep(1000)
_IEFormSubmit ( $o_form )
Получаю ошибку:
Warning from function _IEFormGetObjByName, $_IESTATUS_NoMatch
--> IE.au3 T3.0-1 Error from function _IEFormElementGetObjByName, $_IESTATUS_InvalidDataType
Если повторно декларировать переменные:
Код:
$oIE = _IEAttach("local", "title")
_IELoadWait($oIE)
$o_form = _IEFormGetObjByName($oIE, "fPIN")
$o_password = _IEFormElementGetObjByName($o_form, "pin")
$o_Text = _IEPropertyGet ( $oIE, "innertext" )
If StringInStr($o_Text, "Сессия уже открыта!" ) Then
_IELinkClickByText($oIE, "Продолжить!")
_IELoadWait($oIE)
EndIf
$oIE = _IEAttach("VpnKey.local", "title")
$o_form = _IEFormGetObjByName($oIE, "fPIN")
$o_password = _IEFormElementGetObjByName($o_form, "pin")
$o_Text = _IEPropertyGet ( $oIE, "innertext" )
_IELoadWait($oIE)
_IEFormElementSetValue($o_password, "123456")
sleep(1000)
_IEFormSubmit ( $o_form )
В таком варианте все ОК