Главная страница
    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.45 MB
Время: 0.004 c
2-1295269594
Евгений07
2011-01-17 16:06
2011.04.17
дельфи игнорирует файл источник


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


15-1293842666
NailMan
2011-01-01 03:44
2011.04.17
автозапуск utorrent на win2008. нет оболочки


9-1189005697
News
2007-09-05 19:21
2011.04.17
Как "пересыпать" шары в стакан?


15-1293372734
Мимо не прошел
2010-12-26 17:12
2011.04.17
Свое





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский