Что нового

[Элементы GUI] Как кликнуть кнопку Login в браузере IE

EugeneDavid

Новичок
Сообщения
4
Репутация
0
Всем привет!
Не получается кликнуть по кнопке Login в Браузере с помощью указания имени кнопки или id.
Имеется ли такая возможность в autoit кликнуть по кнопке без указания координат кнопки.
Заранее благодарен за ответ.

Код:
#include <IE.au3>

$sLogin = 'tt'
$sPass = 'qaqa'

$oIE = _IECreate('URL')


    $oForm = _IEGetObjByName($oIE, 'Form1')

    $oLogin = _IEFormElementGetObjByName($oForm, 'loginContainer$username')

    $oPass = _IEFormElementGetObjByName($oForm, 'loginContainer$password')
    $oButton=_IEGetObjById($oIE, 'loginContainer$ctl08')
	_IEAction($oButton, "focus")
;~ Sleep(1000)
   _IEAction($oButton, "click")
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
EugeneDavid

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Покажите код кнопки. Можно использовать поиск по названию класса:
Код:
$oButton = $oIE.document.getElementsByClassName("имя")
MsgBox(4096, "Количество", $oButton.length)   ; Количество возвращенных элементов
MsgBox(4096, "Количество", $oButton.item(0).innertext)   ; Текст первого возвращенного элемента
$oButton.item(1).click()                 ;  Клик по второму возвращенному элементу
 
Автор
E

EugeneDavid

Новичок
Сообщения
4
Репутация
0
gunter123 сказал(а):
Покажите код кнопки. Можно использовать поиск по названию класса:
Код:
$oButton = $oIE.document.getElementsByClassName("имя")
MsgBox(4096, "Количество", $oButton.length)   ; Количество возвращенных элементов
MsgBox(4096, "Количество", $oButton.item(0).innertext)   ; Текст первого возвращенного элемента
$oButton.item(1).click()                 ;  Клик по второму возвращенному элементу


Код:
<input name="loginContainer$ctl08" class="brightbutton" onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("loginContainer$ctl08", "", true, "", "", false, false))' type="submit" value="Login"></input>
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Код:
$oIE.document.parentWindow.execScript('WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("loginContainer$ctl08", "", true, "", "", false, false))') ; Попробуйте вот так
$oIE.document.parentWindow.execScript('javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("loginContainer$ctl08", "", true, "", "", false, false))') ; Или вот так
 
Автор
E

EugeneDavid

Новичок
Сообщения
4
Репутация
0
Все оказалось достаточно просто. Выкладываю код который у меня работает! УРА!
Спасибо всем кто старался помочь!!!

Код:
#include <IE.au3>
$sLogin = 'Логин'
$sPass = 'Пароль'
$oIE = _IECreate('URL')
$oForm = _IEFormGetCollection($oIE, 0)
$oLogin = _IEFormElementGetObjByName($oForm, 'loginContainer$username')
_IEFormElementSetValue($oLogin, $sLogin)
$oPass = _IEFormElementGetObjByName($oForm, 'loginContainer$password')
 _IEFormElementSetValue($oPass, $sPass)
$oEnterButton = _IEFormElementGetObjByName($oForm, "loginContainer$ctl08")
_IEAction($oEnterButton,"focus")
_IEAction($oEnterButton,"click")


СПАСИБО! :beer:
Задача РЕШЕНА! :laugh:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
EugeneDavid

Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.





EugeneDavid [?]

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх