ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

нажать на кнопку и заполнить поле? [Delphi]
  #1  
Старый 25.02.2008, 20:11
Аватар для :::vertas:::
:::vertas:::
Новичок
Регистрация: 12.12.2007
Сообщений: 19
Провел на форуме:
17240

Репутация: 14
Question нажать на кнопку и заполнить поле? [Delphi]

тема такая, на мэил.ру есть чаты, при заходе в любой чат появляется поле куда нужно ввести сообщение и кнопка "Отправить"
мне же нужно сделать програмно чтобы поле заполнялось и нажималась кнопка отправить через определенный промежуток времени, по сути это будет флудер.
Делфи:
Я поместил на форму компонент WebBrowser1, поле ввода и кнопку соответственно, но проблема оказалась не в этом...
сколько я не пробовал заполнить програмно поля и давануть на кнопку ничего не вышло...
Если кто поможет буду благодарен

вот собственно теги страницы http://chat.mail.ru/ (в любом чате):
меня интересует
<input class="discuss" type="text" name="txtr" id="txtr" value="">
<input id=sendbtn type="submit" value="Отправить" onmousemove="window.status='Отправить'">

кому интересно зайдите в любой чат мэил ру и посмотрите html код.

Последний раз редактировалось :::vertas:::; 25.02.2008 в 20:13..
 
Ответить с цитированием

  #2  
Старый 25.02.2008, 20:48
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Нужно сделать POST запрос. Вот статья с примерами, там есть пример пост запроса на дельфи: http://forum.sysman.ru/index.php?showtopic=12171
 
Ответить с цитированием

  #3  
Старый 25.02.2008, 23:09
Аватар для :::vertas:::
:::vertas:::
Новичок
Регистрация: 12.12.2007
Сообщений: 19
Провел на форуме:
17240

Репутация: 14
По умолчанию

мдя... но это не то
нужно чтобы визуально в компоненте WebBrowser1 заполнилось поле, после чего также нажалась кнопка

то что в статье написано я десяток раз сам делал это понятно

нужно сделать примерно чтото типа этого:

WebBrowser1.oleobject.document.getelementsbyid('tx tr').item(0).Value:=Edit8.Text+Edit9.Text;
WebBrowser1.oleobject.document.getelementsbyid('se ndbtn').item(0).Click;

только вот как???
этот пример не работает сколько я не пробовал, даже меняя item на 1,2, 3, 4 ничего не происходит.
 
Ответить с цитированием

  #4  
Старый 25.02.2008, 23:11
Аватар для bul.666
bul.666
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме:
3986705

Репутация: 1403


Отправить сообщение для bul.666 с помощью ICQ
По умолчанию

Програмно открываешь браузер с нужной страницей, програмно передвигаешь мышку на текстовое поле, програмный клик => Поле становится активным, Прогамное нажатие клавишь, соответсвенно тексту, програмное передвижение мыши на кнопку програмный клик...
 
Ответить с цитированием

  #5  
Старый 26.02.2008, 02:48
Аватар для presidentua
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
Провел на форуме:
1724067

Репутация: 806
Отправить сообщение для presidentua с помощью ICQ
По умолчанию

Цитата:
мдя... но это не то
нужно чтобы визуально в компоненте WebBrowser1 заполнилось поле, после чего также нажалась кнопка
ПОСТ запрос, как сказал Kaimi, это самый оптимальный вариант. Читай хтмл-страницу, что получил. Ищи там форму ввода, а потом оправляй ПОСТ запрос.
 
Ответить с цитированием

  #6  
Старый 26.02.2008, 11:34
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

есле нужно визуально, запиши видео, воспроизведи его и в нужный момент отправь http пакет
 
Ответить с цитированием

  #7  
Старый 26.02.2008, 12:48
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

post запрос, либо грей руки об клаву, придется много извращаться...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #8  
Старый 01.03.2008, 21:16
Аватар для De-visible
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

:::vertas:::, Kaimi направил тебя на отличную статью.....
Там все есть.....Или тебе нужен готовый исходник?????
Если не сложно выложи что ты сам пытался делать....Поглядеть интересно...
 
Ответить с цитированием

  #9  
Старый 04.03.2008, 12:33
Аватар для dos999
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

Репутация: 50
По умолчанию

Код:
function TForm1.ByName(FieldName: string; Value: string): Boolean;
 var
   i, j: Integer;
   FormItem: Variant;
begin
 Result := False;
if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
 begin
   Exit;
 end;
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
 begin
   FormItem := WebBrowser.OleObject.Document.forms.Item(I);
   for j := 0 to FormItem.Length - 1 do
   begin
     try
     if FormItem.Item(j).Name = FieldName then
       begin
         if Value = 'Click' then
           FormItem.Item(j).Click
         else
           FormItem.Item(j).Value := Value;
         Result := True;
       end;
     except
       Exit;
     end;
   end;
 end;
end;

function TForm1.ByImg(Src: string; Value: string): Boolean;
 var
   i, j: Integer;
   FormItem: Variant;
begin
 Result := False;
if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
 begin
   Exit;
 end;
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
 begin
   FormItem := WebBrowser.OleObject.Document.forms.Item(I);
   for j := 0 to FormItem.Length - 1 do
   begin
     try
     if FormItem.Item(j).Src = Src then
       begin
         if Value = 'Click' then
           FormItem.Item(j).Click
         else
           FormItem.Item(j).Value := Value;
         Result := True;
       end;
     except
       Exit;
     end;
   end;
 end;
end; 

procedure TForm1.FormCreate(Sender: TObject);
begin
  //заполняем поля на яндексе
  WebBrowser.Navigate('http://mail.yandex.ru/');
  ByName('login', 'uzver');
  ByName('passwd', 'pas123');
  ByImg('http://img.yandex.net/wmi/classic/static/7/i/tb/i24-new-msg.gif', 'Click'); //в результате этой функции произведёться клик по картинке с данным именем файла
end;
c нажатием кнопок всё немного посложнее, т.к. кнопки не вегда имеют имена.

Ну и конечно обязательно ложка дёгтя =)) разработчики из майкрософта сделали недоступной функцию SetVal для полей типа file т.е. им нельзя задать значение... вот такое вот западло, так что письмо с аттачем подобным образом не отправишь :'(
 
Ответить с цитированием

  #10  
Старый 04.03.2008, 13:56
Аватар для Jes
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

Зачем такие извращения ?
все тебе пишут , используй Post ...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все о Samsung novichok Сотовый фрикинг 1 15.02.2006 14:47
Коды silveran Сотовый фрикинг 4 18.10.2005 14:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ