Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.17;
Скачать: CL | DM;

Вниз

Не получается программно авторизоваться на сайте   Найти похожие ветки 

 
И. Павел ©   (2011-01-17 11:26) [0]

Здравствуйте.

Моя программа должна открывать в браузере страницу авторизации к сайту (Service Desk - сайт выполняется у нас на сервере): вводить логин и пароль и нажимать на кнопку входа. Раньше все работало. Но теперь изменилась версия Service Desk, а вместе с ним, видимо, и страница авторизации. Вышел из отпуска, и код уже не работает :) Логин и пароль вводится (появляются в окне браузера и возвращаются через getAttribute), но авторизация не проходит: сайт сообщает, что пользователя с такими данными нет. Если ввести логин и пароль вручную, то все работает.
Пытался после ввода логина самостоятельно вызывать JavaScript функцию, записанную в OnChange поля логина. Не помогло.

Подскажите, пожалуйста, с чем может быть связано такое разное поведение при автоматической и ручной авторизации?

Заранее спасибо.

PS: Вот код функции, выполняющей авторизацию:

procedure TMainF.HDAuth(login, password: string);
var IE: IWebBrowser2;
   doc: IHtmlDocument2;
   i: integer;
   temp, value: OleVariant;
begin
 temp := null;
 IE := CreateOleObject("internetexplorer.application") as IWebBrowser2;
 IE.visible := true;
 IE.navigate("hd", temp, temp, temp, temp);
 while IE.Busy do
   Sleep(200);
 while IE.ReadyState <> READYSTATE_COMPLETE do
   Sleep(200);
 doc := IE.Document as IHtmlDocument2;

 if doc.title = "ManageEngine ServiceDesk Plus" then
 begin
   if HaveHTMLEl("INPUT", "j_username", doc) and
      HaveHTMLEl("INPUT", "j_password", doc) and
      HaveHTMLEl("INPUT", "loginButton", doc)
   then
   begin
     GetHTMLEl("INPUT", "j_username", doc).setAttribute("value", login, 1);
     GetHTMLEl("INPUT", "j_password", doc).setAttribute("value", password, 1);
     GetHTMLEl("INPUT", "loginButton", doc).click;


Вот HTML код страницы авторизации: http://paste.org/pastebin/view/27413
Вот код функций HaveHTMLEl и GetHTMLEl, хотя вряд ли дело в них: http://paste.org/pastebin/view/27412


 
И. Павел ©   (2011-01-17 12:09) [1]

Все, разобрался.
Все-таки дело выбо именно в том, что не отрабатывал onChange плюс сервер нестабильно работал, из за чего я сразу не заметил, что ошибка исчезла!



Страницы: 1 вся ветка

Текущий архив: 2011.04.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1293447297
GanibalLector
2010-12-27 13:54
2011.04.17
Распознавания рукописных символов (FlexiCapture + Delphi)


8-1211477420
presston
2008-05-22 21:30
2011.04.17
Выделение области на рисунке


2-1295269594
Евгений07
2011-01-17 16:06
2011.04.17
дельфи игнорирует файл источник


15-1293587663
TUser
2010-12-29 04:54
2011.04.17
Чтобы только мышкой тыкать


15-1293663286
XXL
2010-12-30 01:54
2011.04.17
Как в подмосковье с интернетом ?