Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2018.07.15;
Скачать: [xml.tar.bz2];

Вниз

Авторизация на сайте   Найти похожие ветки 

 
Кирилов. А.С.   (2016-07-10 12:18) [0]

Доброго времени! Нужен совет мастеров. Хочу сделать авторизацию в программе на сайте для чтения информации: https://order.utr.ua/
Работаю с компонентом Chromium в D2010 так:
var
login,pass,CodeStr:String;
begin
login:="mylogin";
pass:="mepass";
CodeStr := "document.getElementsByName("Login[username]").value=""+login+"";";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
CodeStr := "document.getElementsByName("Login[password]").value=""+pass+"";";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
CodeStr := "document.getElementsByClassName("big-red-button").click();";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
end;
Но данные для авторизации в поля не вносятся и отсылка не работает.. (( Что делаю не так?


 
Кирилов. А.С.   (2016-07-10 12:21) [1]

На других сайтах через getElementById работает без проблем, но на этом сайте
почему-то нет ID у нужных мне элементов.. ((


 
ухты ©   (2016-07-10 14:33) [2]

getElementsByName, по названию не видно что возвращает?


 
Кирилов. А.С.   (2016-07-10 14:42) [3]

Я по имени и пробую присвоить данные нужным полям,
Но не выходит.. (( почему? Как правильно сделать?


 
ухты ©   (2016-07-10 14:46) [4]

по имени вы получаете массив элементов, в названии метода s не просто так выделил


 
Кирилов. А.С.   (2016-07-10 14:55) [5]

CodeStr := "document.getElementByName("Login[username]").value=""+login+"";";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
тоже неработает.. ((


 
ухты ©   (2016-07-10 15:00) [6]

да при чем тут это?
getElementByName - не существует
getElementsByName - возвращает массив
т.о. getElementsByName(..)[0].value = ..;

тоже для getElementsByClassName
только убедится надо что в массиве есть то что вам надо
))


 
Кирилов. А.С.   (2016-07-10 15:10) [7]

Исправил, все работает теперь в таком виде:

var
login,pass,CodeStr:String;
begin
login:="mylogin";
pass:="mypass";
CodeStr := "document.getElementsByName("Login[username]")[0].value=""+login+"";";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
CodeStr := "document.getElementsByName("Login[password]")[0].value=""+pass+"";";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
CodeStr := "document.getElementsByClassName("big-red-button")[0].click();";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);
end;

Большое спасибо за полезные советы!!!


 
Кирилов. А.С.   (2016-07-10 15:12) [8]

Подозреваю что в связке с Chromium JavaScript пригодится еще не раз...
Что толкового можно почитать об этом? (сайты, книги, авторы)


 
ухты ©   (2016-07-10 15:18) [9]

зачем дергать постоянно? можно же просто одним куском выполнить
CodeStr := "document.getElementsByName("Login[username]")[0].value=""+login+"";";
CodeStr := CodeStr  + "document.getElementsByName("Login[password]")[0].value=""+pass+"";";
CodeStr := CodeStr  + "document.getElementsByClassName("big-red-button")[0].click();";
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, "about:blank", 0);


 
Кирилов. А.С.   (2016-07-10 15:26) [10]

Хорошо, спасибо! Что посоветуете почитать для расширения кругозора JavaScript?


 
ухты ©   (2016-07-10 15:38) [11]

Да полно в сети литературы, уроков и т.п.
http://www.w3schools.com/Js/ вот тут для начала неплохо
https://ru.wikipedia.org/wiki/JavaScript тут вообще много чего


 
Кирилов. А.С.   (2016-07-10 15:39) [12]

Благодарствую...



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

Форум: "Начинающим";
Текущий архив: 2018.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
2-1468142323
Кирилов. А.С.
2016-07-10 12:18
2018.07.15
Авторизация на сайте


15-1472410084
ВладОшин
2016-08-28 21:48
2018.07.15
Никто пострелушками не увлекается?


15-1473704029
andrd
2016-09-12 21:13
2018.07.15
Вопрос разработчикам Delphi для Android


15-1473745173
xayam
2016-09-13 08:39
2018.07.15
Посоветуйте программу для записи видео с экрана


15-1473498366
xayam
2016-09-10 12:06
2018.07.15
Как решить такое уравнение относительно t ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский