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

29.08.2009, 11:01
|
|
Новичок
Регистрация: 04.05.2008
Сообщений: 7
Провел на форуме: 35431
Репутация:
0
|
|
нужна помощь delphi webbrowser
имеется код:
Код:
begin
link:=WebBrowser1.OleObject.Document.getelementsbytagname('a');
for i:=0 to link.length-1 do
if pos('/addfriend?recall=',link.item(i).href)<>0 then link.item(i).click;
end;
вообщем находит он 20 ссылок и пытается сразу кликнуть по всем, а мне надо чтобы кликнул по одной, страница обновилась кликнул по другой и т.д. пока не кончатся ссылки. помогите кто чем может) я сам ващпе не кодер!
|
|
|

29.08.2009, 16:23
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
попробуй использовать sleep(5000) в цикле. Это задержка выполнения следующей команды на 5 секунд.
Последний раз редактировалось =Zeus=; 29.08.2009 в 16:32..
|
|
|

29.08.2009, 16:36
|
|
Участник форума
Регистрация: 23.07.2009
Сообщений: 261
Провел на форуме: 4435957
Репутация:
539
|
|
Сообщение от =Zeus=
попробуй использовать sleep(5000) в цикле. Это задержка выполнения следующей команды на 5 секунд.
Если ставить sleep, вроде программа подвисать будет...
|
|
|

29.08.2009, 16:39
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
А Application.ProcessMessages для чего? Хотя наверно sleep() тут не лучщий вариант, пусть ТС попробует, будем знать.
|
|
|

29.08.2009, 16:56
|
|
Познающий
Регистрация: 17.07.2009
Сообщений: 47
Провел на форуме: 131272
Репутация:
4
|
|
Application.ProcessMessages даёт приложению проработаться... то есть скорее всего он кликнет по всем ссылкам и потом даст загрузить последнюю...
нун после последней даст проработаться... так как клик по ссылке он обработает... из предложенного думаю как раз задержка (sleep(5000)) в 5 секунд и подойдёт...
Можно попробовать... блин... пока писал забыл чего хотел предложить...
Вот есть ещё такой вариант, создавать несколько объектов и в них грузить ссылки 
|
|
|

29.08.2009, 19:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ппц народ вы гении. жжжоте
после первого же перехода автоматом похерятся остальыне ссылки.
Так что кидай во временный массив все ссылки.
А потом пробегайся по нему и грузи линки в WebBrowser и делай ожидания пока не наступит событие Complite
|
|
|

31.08.2009, 19:25
|
|
Новичок
Регистрация: 04.05.2008
Сообщений: 7
Провел на форуме: 35431
Репутация:
0
|
|
вообщем я копирую ссылки в listbox
Код:
begin
link:=WebBrowser1.OleObject.Document.getelementsby tagname('a');
for i:=0 to link.length-1 do
if pos('http://mysite/index.php?recall=',link.item(i).href)<>0 then ListBox1.Items.Add(link.item(i).href);
end;
а как теперь осуществить переход по каждой ссылке?
|
|
|

31.08.2009, 19:47
|
|
Познающий
Регистрация: 05.05.2008
Сообщений: 43
Провел на форуме: 718081
Репутация:
2
|
|
for i:=0 to listbox1.items.count-1 do
WebBrowser1.navigate(listbox1.items[i]);
или не навигате там, лень делфю запускать, ну вобщем смысл понятен.
а чтобы он ждал пока первая загрузится и тока потом переходил к загрузке следущей делай так:
for i:=0 to listbox1.items.count-1 do begin
WebBrowser1.navigate(listbox1.items[i]);
while not complete do application.processmessage;
complete присваивай в true в событии браузера OnComplete или чето такое
|
|
|

31.08.2009, 21:40
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Немного оффтоп:
Application.ProcessMessages конечно, штука хорошая, но лучше всю работу с сетью вынеси в отдельный поток, не прописывай все в основном, чтобы прога не подвисала во время работы.
|
|
|

31.08.2009, 21:42
|
|
Познающий
Регистрация: 05.05.2008
Сообщений: 43
Провел на форуме: 718081
Репутация:
2
|
|
в его случае поток тут необязателен
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Скачать Delphi 7, помощь.
|
_casper_ |
С/С++, C#, Delphi, .NET, Asm |
20 |
08.12.2009 04:54 |
|
Нужна помощь!!
|
snAKe33 |
Болталка |
0 |
08.06.2009 23:47 |
|
Нужна ваще помощь XP
|
jks |
Windows |
12 |
22.01.2009 00:33 |
|
Шахматы на Delphi нужна помощь.
|
Mobile |
С/С++, C#, Delphi, .NET, Asm |
3 |
01.12.2008 02:53 |
|
Программа на Delphi. Помощь нужна.
|
Happer |
С/С++, C#, Delphi, .NET, Asm |
7 |
25.03.2006 21:08 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|