![]() |
|
#1
|
|||
|
|||
![]() Небольшой баг, пишу так:
Код:
for i := 1 to 1 do begin WebBrowser1.Navigate('http://www.ya.ru'); Sleep(1500); WebBrowser1.Navigate('http://www.erepublik.com/en'); Sleep(2000); В общем первую ссылку Веббраузер вообще не воспринимает. Хоть какую задержку ставь он всё равно не переходит по этой ссылке. А вот по 2ой переходит. Но если я вторую поставлю к примеру ya.ru то он перейдёт, в общем не зависит от ссылки, а зависит от места. Что это за баг? |
#2
|
||||
|
||||
![]() так он у тебя токо начнет переходить и тут же ты переходишь на другой
равносильно этому Код:
WebBrowser1.Navigate('http://www.ya.ru'); WebBrowser1.Navigate('http://www.erepublik.com/en'); Код:
for i := 1 to 1 do begin |
#3
|
|||
|
|||
![]() Да это так. А как мне сделать, что бы он переходил с начало по одной ссылки и потом по второй?
|
#4
|
||||
|
||||
![]() не пойму а что требуется? Показать человеку один сайт потом другой?
мне такое в голову пришло Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) Timer1: TTimer; Button1: TButton; WebBrowser1: TWebBrowser; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Ibrow: integer; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin case Ibrow of 0: WebBrowser1.Navigate('http://www.ya.ru'); 1: WebBrowser1.Navigate('http://www.erepublik.com/en'); end; inc(Ibrow); if Ibrow = 2 then Timer1.Enabled:=false; end; procedure TForm1.Button1Click(Sender: TObject); begin Ibrow:=0; Timer1.Enabled:=true; end; end. Последний раз редактировалось ALexandr555, 02.07.2011 в 14:52. |
#5
|
|||
|
|||
![]() Спасибо. Нет, программа должна перескакивать по ссылкам просто и тырить исх. код, в общем подожду решения ещё до вечера, если не будет, то буду твоё использовать.
|
#6
|
||||
|
||||
![]() чем мое не устраивает? А если исходдный код то можно куда проще не через такое, но ладно жди решений)
|
#7
|
|||
|
|||
![]() Просто в твоём большая нагрузка будет из-за таймеров (я так думаю), а мне надо около 70 ссылок переходить.
|
#8
|
|||
|
|||
![]() а зачем тебе много таймеров добавлять,одного достаточно.
добавь какой нить список с ссылками,например Memo, объяви глобальную переменную i:Integer; и далее код Код:
procedure TForm1.Button1Click(Sender: TObject); begin i:=0; Timer1.Enabled:=True; end; procedure TForm1.Timer1Timer(Sender: TObject); begin WebBrowser1.Navigate(Memo1.Lines[i]); Inc(i); if i=memo1.Lines.Count-1 then Timer1.Enabled:=false; end; |
#9
|
||||
|
||||
![]() Snake22, лучше бы прочитал предыдущие сообщения особенно #4 и #5
|
#10
|
|||
|
|||
![]() да,один хрен.он, помоему, подумал что ему под каждую ссылку придектся таймер создавать
Цитата:
|
#11
|
|||
|
|||
![]() Хорошо, таймер так таймер, спасибо
![]() |
#12
|
||||
|
||||
![]() Я #7 пропустил сорри, так вот если ему нуже исходный код то
WebBrowser1.Navigate(); глупости Код:
IdHTTP1.Get(); IdHTTP1.Get(); IdHTTP1.Get(); ... Последний раз редактировалось ALexandr555, 02.07.2011 в 15:50. |
#13
|
|||
|
|||
![]() Да гет-то хорошо, я знаю. Но он не вытаскивает все элементы страницы. Я пытался через гет, но через него исх. код выглядил очень тонко. И вот нашёл вот такой код в инете:
Код:
procedure TForm1.GetCode; var iall : IHTMLElement; begin if Assigned(WebBrowser1.Document) then begin iall := (WebBrowser1.Document AS IHTMLDocument2).body; while iall.parentElement <> nil do begin iall := iall.parentElement; end; memo1.Text := iall.outerHTML; end; end; Да и вообще зря эта тема, извините что побеспокоил, просто этим способом не получится мне сделать программу, сейчас создам новую тему может подскажут. |
#14
|
||||
|
||||
![]() Код:
WebBrowser1.Navigate('http://www.delphisources.ru/'); while WebBrowser1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages; WebBrowser1.Navigate('http://msdn.microsoft.com/'); while WebBrowser1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages; Пишу программы за еду. __________________ |