Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] залогиниться на сайте Megafon (http://forum.oszone.net/showthread.php?t=305288)

corbis 11-09-2015 15:27 2552121

залогиниться на сайте Megafon
 
Код:

$login = "login"
$password = "pwd"
$url = "https://lk.megafon.ru/login/"

$IE = New-Object -ComObject InternetExplorer.Application
$IE.Navigate($url)

While ($IE.Busy)
{ Start-Sleep -Milliseconds 100 }
$doc = $ie.document

    $usernameField = $doc.getElementById('j_username')
    $usernameField.value = $username
    $passwordField = $doc.getElementById('j_password')
    $passwordField.value = $password
    # Ищем кнопку
    $submitButton = $doc.getElementById('submit-button')
    $submitButton.click()

Код работает ровно до поиска кнопки. Т.к. Id у этой кнопки нет. И непонятно как к ней обратиться.
Может можно как-то отправить нажатие Enter?
В общем, help

Kazun 11-09-2015 16:17 2552134

$ie.Document.Forms.Item(0).getElementsByClassName("ui-button-but").Item(0).click()

Для PSv2:
Код:

$ie.Document.Forms | %{$_.getElementsByClassName("ui-button-but")} | % {$_.Click()}

corbis 11-09-2015 19:42 2552205

Кнопка найдена! Ура. Только click не срабатывает. Пока с клавиатуры что-нибудь не введено, кнопка не активна.

Эмуляция клика мышки и эмуляция нажатия клавиш клавиатуры сработала.
Но для реального варианта не подходит.

Iska 11-09-2015 22:54 2552280

Цитата:

Цитата corbis
Кнопка найдена! Ура. Только click не срабатывает. Пока с клавиатуры что-нибудь не введено, кнопка не активна. »

Так она ж у Вас disabled изначально.

corbis 12-09-2015 11:25 2552365

Цитата:

Цитата Iska
Так она ж у Вас disabled изначально. »

Что с этим можно сделать?

Iska 12-09-2015 12:39 2552382

Цитата:

Цитата corbis
Что с этим можно сделать? »

Попробовать тупо сменить это свойство (если сие в принципе возможно, я не ковырял справочник). Разобраться где и когда это свойство меняется в оригинальном коде по изменению содержимого полей INPUT и сделать аналогично.

Kazun 12-09-2015 12:40 2552383

Попробовать:
Код:

$class = $doc.body.getElementsByClassName("ui-button ui-button-submit ui-button-disabled login-form-submit")
$class.Item(0).className = "ui-button ui-button-submit login-form-submit"


corbis 12-09-2015 22:01 2552510

Это магия..

Спасибо.


Время: 21:45.

Время: 21:45.
© OSzone.net 2001-