Fórum Duvida WebBrowser com vetor delphi 7 #535913
29/10/2015
0
Alex
Curtir tópico
+ 0Posts
29/10/2015
Mateus Ribeiro
Veja se é isso.
var i: integer;
begin
for i:= 0 to Length(SeuVetor) do
begin
WebBrowser.Navigate(SeuVetor[i]);
Sleep(5000); // Aguarda 5 segundos
end;
Gostei + 0
29/10/2015
Alex
Gostei + 0
29/10/2015
Mateus Ribeiro
Declare as variáveis globais:
var Form1: TForm1; CurDispatch: IDispatch; FDocLoaded: Boolean; implementation
Agora, nos eventos do seu WebBrowser coloque...
No evento OnBeforeNavigate:
CurDispatch := nil; FDocLoaded := False;
No evento OnDocumentComplete:
if (pDisp = CurDispatch) then
begin
FDocLoaded := True;
CurDispatch := nil;
end;
No evento OnNavigateComplete2:
if CurDispatch = nil then
CurDispatch := pDisp;
Agora, seguindo o código que passei anteriormente, fica assim:
var i: integer;
begin
for i:= 0 to Length(SeuVetor) do
begin
WebBrowser.Navigate(SeuVetor[i]);
repeat Application.ProcessMessages until FDocLoaded; //Depois de acessar a página, espera ela carregar
Sleep(5000); // Aguarda 5 segundos
end;
Espero que ajude! Poste qualquer dificuldade
Gostei + 0
29/10/2015
Alex
Exemplo: tenho a variavel nome do tipo string; e ela guarda a frase ' você é bonito(a)' e dai essa variavel pesquisar essa string na página que abriu, antes que os 5 segundos termine, se ela achar o valor na página ela pausa o vetor, se não, ela continua procurando até o ultimo link do vetor...
Gostei + 0
29/10/2015
Mateus Ribeiro
Basicamente isso:
Declare essa função:
function GetWebBrowserHTML(const WebBrowser: TWebBrowser): String;
var
LStream: TStringStream;
Stream : IStream;
LPersistStreamInit : IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then exit;
LStream := TStringStream.Create('');
try
LPersistStreamInit := WebBrowser.Document as IPersistStreamInit;
Stream := TStreamAdapter.Create(LStream,soReference);
LPersistStreamInit.Save(Stream,true);
result := LStream.DataString;
finally
LStream.Free();
end;
end;
Depois, implementando na função que eu tinha te passado antes:
var i: integer;
Nome, xHTML: String;
begin
Nome:= 'Você é bonito(a)';
for i:= 0 to Length(SeuVetor) do
begin
WebBrowser.Navigate(SeuVetor[i]);
repeat Application.ProcessMessages until FDocLoaded; //Depois de acessar a página, espera ela carregar
xHTML:= GetWebBrowserHTML(WebBrowser1); // Obtendo o código HTML da página atual
if Pos(Nome, xHTML)<> 0 then // Verifica se no HTML existe o valor da variável NOME
Break; // Se existir, para o contador e permanece na página
Sleep(5000); // Aguarda 5 segundos
end;
Gostei + 0
29/10/2015
Alex
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)