Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 2
Всего онлайн: 2
Зарегистрировано юзеров: 6619
Комментариев на сайте: 650
Новый юзер: Dysonetn



Последние комментарии
c
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Это действительно радует меня. --- Бесподобное сообщение скачать fifa, скачать фифа а также [url=http://15fifa.ru/novosti-fifa-15]fifa 15 последние новости[/url] скачать фифа
intatryadebra прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Revival RO is best free ro populair ragnarok online private server founded in 2017 2018. Revival pvp big free Ragnarok server is an online exciting free MMORPG called ragnarok online, it a fun server for MMORPG gamers in ASIA. This is a top 10 ragnarok online private server thats high on the list and top ranking with massive players online. We have many players from Asia like Malaysia, Indonesia, Philippines, Thailand, Singapore, China, Hong Kong All these players are here to play free private ragnarok online server and battle players all around the world. They want to collect the best items and gear to be strongest in War of Emperium, War of Emperium are guild wars in this free RO Server. You can play this game on android phone or tablet or pc client. Enjoy And have fun. ragnarok online server http://bit.ly/2tKyawS

Урок 36 - Взаимодействие с веб страницей

   В этом уроке мы попробуем авторизоваться на сайте yandex.ru.

   Мы программно отыщем поля для ввода логина и пароля и нажмем на кнопку входа. Нам понадобится компонент WedBrouser1 и 2 кнопки, кидаем все это на форму.

   На первой кнопке сделаем загрузку сайта:

procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('www.yandex.ru'); //Открываем яндекс
end;
   Наша программа будет сканировать страницу на наличие полей и когда имя поля совпадет с искомым она подставит в него текст. Откроем исходный код страницы, и что мы видим, кашу, из всей этой каши нас интересует всего 3 строчки:

Поле для логина:
<input class="b-form-input__input" name="login" id="id001" value="" tabindex="3" /> Поле для пароля:
<input class="b-form-input__input" name="passwd" value="" id="id002" tabindex="4" type="password"/> Кнопка "Войти":
<input type="submit" hidefocus="true" tabindex="6" class="b-form-button__input" value="Войти">
   Теперь мы знаем имена полей и кнопки, а значит сможем их найти, создаем обработчик события OnClikc Button2 и заполним его вот таким кодом:
procedure TForm1.Button2Click(Sender: TObject);
var
  i:integer;
  s: String;
  html_tag: Variant;
begin
  html_tag:= WebBrowser1.OleObject.Document.forms.item(0).elements;
  for i:=0 to (html_tag.Length-1) do
  begin
    if html_tag.item(i).name = 'login' then  //ищем элемент с именем "login" 
      html_tag.item(i).value:= 'thedelphi';  //и присваиваем ему значение
	  
    if html_tag.item(i).name = 'passwd' then  //ищем элемент с именем "passwd" 
      html_tag.item(i).value:= 'delphi';  //и присваиваем ему значение
	  
    if html_tag.item(i).value = 'Войти' then //ищем элемент со значением "Войти"
      html_tag.item(i).click;  // и нажимаем на него
  end;
end;
   Можно проверить, сначала загрузим страницу, нажав на первую кнопку, а потом на вторую, тем самым поля должны заполнится.

Страница


   Но как видно ничего не произошло, такое случилось из-за той кучи кода, страничка оказалась слишком сложной, но слава богу есть альтернатива по проще: https://mail.yandex.ru/, имена элементов совпадают, так что менять ничего не нужно, кроме самого адреса. Пробуем снова:

Страница




Страница


   И вуаля, все получилось!!!

   Таким способом можно например проверять новости еще что-нибудь. Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 10 Мая 2013
Просмотров:

Урок 35 - Создаем Веб браузер Урок 37 - Запись рабочего стола

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): nurbeksoft [Новичок] Дата: 2013-05-14




аватар Добавила: shukrona.normatova [Новичок] Дата: 2016-08-06
Не получается . Вторая кнопка Вообще не работает