Главная страница
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.011 c
2-1295279025
SamBrown
2011-01-17 18:43
2011.04.17
Как убрать колонки у VCL ListView (vsReport)


1-1252242428
Ruzzz
2009-09-06 17:07
2011.04.17
Сериализация, хочу найти лучшее решения


15-1293912187
NewUserWin7
2011-01-01 23:03
2011.04.17
Win 7 - параметры папки


2-1295205120
v_a_belousov
2011-01-16 22:12
2011.04.17
Перемещение объектов по дробной координате


15-1294262997
Юрий
2011-01-06 00:29
2011.04.17
С днем рождения ! 6 января 2011 четверг