Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
нажать на кнопку и заполнить поле? [Delphi] |

25.02.2008, 20:11
|
|
Новичок
Регистрация: 12.12.2007
Сообщений: 19
Провел на форуме: 17240
Репутация:
14
|
|
нажать на кнопку и заполнить поле? [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..
|
|
|

25.02.2008, 20:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Нужно сделать POST запрос. Вот статья с примерами, там есть пример пост запроса на дельфи: http://forum.sysman.ru/index.php?showtopic=12171
|
|
|

25.02.2008, 23:09
|
|
Новичок
Регистрация: 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 ничего не происходит.
|
|
|

25.02.2008, 23:11
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Програмно открываешь браузер с нужной страницей, програмно передвигаешь мышку на текстовое поле, програмный клик => Поле становится активным, Прогамное нажатие клавишь, соответсвенно тексту, програмное передвижение мыши на кнопку програмный клик...
|
|
|

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

26.02.2008, 11:34
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
есле нужно визуально, запиши видео, воспроизведи его и в нужный момент отправь http пакет
|
|
|

26.02.2008, 12:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
post запрос, либо грей руки об клаву, придется много извращаться...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

01.03.2008, 21:16
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
:::vertas:::, Kaimi направил тебя на отличную статью.....
Там все есть.....Или тебе нужен готовый исходник?????
Если не сложно выложи что ты сам пытался делать....Поглядеть интересно...
|
|
|

04.03.2008, 12:33
|
|
Познающий
Регистрация: 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 т.е. им нельзя задать значение... вот такое вот западло, так что письмо с аттачем подобным образом не отправишь :'(
|
|
|

04.03.2008, 13:56
|
|
Постоянный
Регистрация: 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)
|
|
|
|