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

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

Rampages 04-09-2013 13:23 2212563

Нужна помощь в написании скрипта автологина через веб-форму сайта
 
Доброго всем дня!

возникла проблема с написанием скрипта автологина
пробовал на vbscript'е, но что-то он у меня ругается на отсутствие объекта


вот код скрипта с ошибкой
Код:

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://keriowf6/"
While objIE.Busy
    WScript.Sleep 200
Wend
Set objForm = objIE.Document.forms(0)
objForm.elements("username").value = "username"
objForm.elements("password").value = "password"
objForm.submit()

ругается на зачеркнутую строку
насколько понимаю, необходимо передать параметры в объект или что-то в этом роде...
подскажите пожалуйста где и что тут не так :(
абсолютно не знаком с vbscript/vb и javascript, схожие решения проблем видел, пробовал всяческие извращения, но правильный "костыль" собрать из этой солянки не смог.

возможно нужно было как-то пробежаться по структуре DOM, найти необходимые поля, заполнить их и отправить форму
или же отправить сразу POST со всеми необходимыми данными... но как и из чего собрать и отправить...

Исходный код страницы с формой

HTML код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="shortcut icon" type="text/x-icon" href="/nonauth/gfx/favicon.ico?v=dc5db99ae0693a83aca3d8370105e548">
        <title>Страница входа в систему - Kerio WinRoute Firewall</title>
        <link  href="style/bodyNonauth.css?v=dc5db99ae0693a83aca3d8370105e548" rel="stylesheet" type="text/css">
        <link  href="style/common.css?v=dc5db99ae0693a83aca3d8370105e548" rel="stylesheet" type="text/css">
        <link  href="style/mainNonauth.css?v=dc5db99ae0693a83aca3d8370105e548" rel="stylesheet" type="text/css">
        <link  href="style/main.css?v=dc5db99ae0693a83aca3d8370105e548" rel="stylesheet" type="text/css">
        <script src="onLoad.js?v=dc5db99ae0693a83aca3d8370105e548" type="text/javascript"></script>
</head>
<body onLoad="aep('username')">

<div id="freeSpace"></div>
<table id="contentTable">
<tr><td align="center">        <div class="dialog">
<div class="dialogHeader">
<div class="tab_UL"></div>
<div class="tab_UM">
<div class="tab_caption"><img src="gfx/kerio_logo.gif" width="300" height="20" alt="" ></div>
</div>
<div class="tab_UR"></div>
</div>
<div class="dialogBody">
<div class="dialogBgStrip">
<div class="dialogBg">
<div class="documentTitle"style="padding-bottom: 10px;"><img src="gfx/login.gif" width="24" height="24" alt="" >Страница входа в систему</div>
<span class="heading">Введите имя пользователя и пароль ниже</span>
<div class="loginCommon">
<form method="post" action="/internal/authenticate?internal=0"><table ><tbody><tr><td align="center"><table ><tbody><tr><td colspan="2" align="left"><div id="failure" style="height: 20px; padding: 5px 0 5px 0;"> </div></td></tr><tr><td class="bold">Имя польз.:</td><td><input type="text" name="username" id="username" size="15" class="textInput" ></td></tr><tr><td class="bold">Пароль:</td><td><input type="password" name="password" id="password" size="15" class="textInput" ></td></tr></tbody></table><table style="padding: 10px 0 10px 0;"><tbody><tr><td><input type="submit" value="Вход в систему" class="button" ></td></tr></tbody></table></td></tr></tbody></table></form>       
</div>                                                                               
</div>
</div>
</div>
<div class="dialogFooter">
<div class="tab_LL"></div>
<div class="tab_LM"></div>
<div class="tab_LR"></div>
</div>
</div>        </td></tr>
</table>

</body>
</html>


Rampages 06-02-2014 12:45 2303916

Эх никто так и не помог, недавно снова встала эта тема и наконец-то решил её сам и не без помощи гугла:

работающий код выглядит следующим образом:
Код:

Option Explicit

Const READYSTATE_COMPLETE = 4

Dim objIE
Dim objForm

Set objIE = WScript.CreateObject("InternetExplorer.Application")

With objIE
    '.Visible = False
    .Visible = True
   
    .Navigate "http://piton/nonauth/login.php"
   
    ' Ждём…
    Do
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
   
    ' Заполняем форму #0
    Set objForm = .Document.forms(0)
   
    With objForm
        .elements("username").value = "ЛОГИН"
        .elements("password").value = "ПАРОЛЬ"
       
        ' Отправляем форму на сервер
        .submit()
    End With
   
    ' Ждём…
    Do
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
   
    'Тут прочие действия, для чего, собственно и затевались…
End With

Set objIE = Nothing

WScript.Quit 0

после запуска остается открытым окно IE, пока не разобрался как его закрыть, но думаю не сложно.
да и по идее не очень то и надо.

P.S. Спс за не предоставленную помощь ;) в очередной раз убедился в полезности форумов.

Iska 06-02-2014 13:32 2303952

Цитата:

Цитата Rampages
P.S. Спс за не предоставленную помощь в очередной раз убедился в полезности форумов. »

Завсегда пжлст, в очередной раз убедился в претенциозности заявлений, подобных Вашему.

читать дальше »
Ибо это — мой код (и тоже на форуме :lol:).

Вы напрасно считаете, что на форумах кто-то кому-то чем-то всенепременно обязан, кроме оговоренного рамками Правил конкретного ресурса. Потому, высказывая своё «фи» подобным образом, Вы лишь демонстрируете свой культурный уровень окружающим. Не более.

Rampages 25-02-2014 05:26 2315175

2Iska

Перед созданием темы пользовался поиском и даже более того пытался написать сам с нуля, не ища легких способов, но мои потуги были напрасны и я решился задать вопрос на форуме он тут висел довольно долго, тему не поднимал и благоразумно ждал.

Когда же все таки нашел решение за пределами форума, я отписался об этом, намекнув что раздел на форуме скорее мертв, чем жив.
Затем оказывается мой намек вызвал бурление г... и заставил таки кого-то отписаться, а кто-то даже посчитал полезным этот бесполезный комментарий с ссылкой ведущей на другой ресурс никак не связанный с этим сказал за это!

В следующий раз просто закрою тему без решения, ибо так оно видимо куда приятнее будет и мне и окружающим. А ещё лучше не буду создавать тему – одной меньше, одной больше мб вообще не будем на профильных форумах сидеть.

читать дальше »
Цитата:

Цитата Iska
Вы напрасно считаете, что на форумах кто-то кому-то чем-то всенепременно обязан, кроме оговоренного рамками Правил конкретного ресурса. Потому, высказывая своё «фи» подобным образом, Вы лишь демонстрируете свой культурный уровень окружающим. Не более. »

я не настаиваю на том что кто-то что-то кому-то обязан/должен просто неоднократно пытался задавать вопросы на профильных форумах.
вопрос как мне кажется вполне нормально сформулирован, глубочайших познаний в этой области не требует, если тяжело подсказать бесплатно, предложите платные услуги в PM.

если вам так не нравится моё "Фи" пожалуйтесь модераторам, пущай удалят тему, мне уже как-то все равно.
и вы высказывая своё "Фи" лишь демонстрируете свой культурный уровень окружающим. Не более.
как то так.

Iska 08-03-2014 04:50 2320658

Rampages, поиском научиться пользоваться — невелика доблесть. Ну, нашли код — хорошо. Выложили его сюда — вдвойне молодец. И ладно бы. Если б Вы на этом и закончили, всё было бы замечательно.

Но, то ли Вам просто захотелось выпендриться, то ли Вы сочли себя непонятно чем обиженным — Вы решили высказаться дополнительно. Причём в таком стиле, что в совокупности стало, скажем так, заметно попахивать. Своим следующим постом Вы лишь подтвердили сие.

Цитата:

Цитата Rampages
намекнув что раздел на форуме скорее мертв, чем жив. »

«Спс за не предоставленную помощь в очередной раз убедился в полезности форумов» — это не намёк. И не «раздела на форуме», а всех форумов.

читать дальше »
Итак, Вы взяли код. Со стороннего ресурса. Что примечательно — тоже с форума. Отношение к тому коду — если до Вас всё ещё не дошло («с ссылкой ведущей на другой ресурс никак не связанный с этим сказал за это»), хотя было выше сказано прямым текстом — я имею прямое и самое непосредственное, ибо аз автор его есмь. Как раз-таки я его там и выкладывал в процессе решения темы. В том числе и для того, чтобы люди им пользовались. Они, форумы, знаете, для того и предназначены — нести пользу людям посредством общения. Кстати, коль уж зашла речь, не подскажите — в чём, собственно, выражается самость решения («решил её сам»):

(вопрос, в общем-то, риторический)?!
Но чьё именно авторство — тут совсем не важно. Для сути дела достаточно того, что не Ваше.

То есть — Вы в своём посте представляете код, а) найденный б) на форуме, в качестве а) «сам-решения», и б) тут же, одновременно, «поливаете» эти же самые форумы. И как, простите, после всего этого относиться к Вашим словам?! Для меня ответ однозначен.

Печально, что Вы не видите ничего, окромя «бурления говн», а суть претензии, очевидно, Вам осталась попросту недоступна.


Время: 19:30.

Время: 19:30.
© OSzone.net 2001-