Текущий архив: 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