Главная страница
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.012 c
15-1294066387
KilkennyCat
2011-01-03 17:53
2011.04.17
В разделе "начинающим" есть про акустический резонанс.


2-1295255823
delphist
2011-01-17 12:17
2011.04.17
помогите составить XPath выражение


1-1252408144
bratel
2009-09-08 15:09
2011.04.17
на компе не работают программы на дельфи


2-1294996660
tippa
2011-01-14 12:17
2011.04.17
убрать значек с панели задач, само окно оставить


3-1256535483
JohnLemon
2009-10-26 08:38
2011.04.17
Помогите с SQL запросом....