Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lívio Bruno

Webbrowser

Recommended Posts

Olá pessoal! Queria uma ajuda de vocês. Tenho um form1, um webbrowser1 e um button1. Bom, queria clicar nesse botão do form, navegar até http://sentinelats.agilityhoster.com/index.html, onde tem um botão do facebook(botão "Enviar") e depois clicasse nesse botão "Enviar" do facebook. Navegar até o link eu sei agora quando chego na página queria que fosse simulado um clique nesse botão do facebook. Tentei alguns códigos mas não tive sucesso então vou colocar abaixo alguns que eu testei e deram erro na hora do click do botão do form:

 

Obs1.: Lembrando que uso o delphi 2010.

 

Obs2.: Não é que esses códigos não funcionem, em outros botões de outras páginas eles funcionam mas nesse botão do facebook eles não funcionam.

 

// Código 1

procedure ClicaBotao(var WebBrowserX:TWebBrowser; botao:string);
var
FormItem,doc: Variant;
Field: Variant;
FieldName: String;
H,I,J: Integer;
begin
//try
for H := 0 to webbrowserX.OleObject.Document.Frames.Length -1 do
begin
doc := WebBrowserX.OleObject.Document.Frames.item(H).document; // Da erro nessa linha
for I := 0 to Doc.forms.Length - 1 do
begin
FormItem := Doc.forms.Item(I);
for j := 0 to FormItem.Length - 1 do
begin
Field := FormItem.Item(j);
FieldName := Field.Name;
if FieldName = botao then
Doc.forms.item(i).elements.item(j).click;
end;
end;
end;
//except
//
//end;

end;

 

Modo de uso do código 1:

 

procedure Tform1.Button1Click(Sender: TObject);

begin

ClicaBotao(WebBrowser1, Edit1.Text);

end;

 

 

// Código 2

procedure Tform1.Button1Click(Sender: TObject);
var
ovElements: OleVariant;
i: Integer;
begin

//try
ovElements := WebBrowser_Enviar.OleObject.Document.forms.item(0).elements; // Da erro nessa linha

for i := 0 to (ovElements.Length - 1) do
begin

if (ovElements.item(i).tagName = 'button') and
(ovElements.item(i).type = 'submit') and
(ovElements.item(i).Value = Edit1.Text) then
begin
ovElements.item(i).Click;
end;

end;
//except

// end;

end;

 

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

 

Observe como você está passando as informações:

doc := WebBrowserX.OleObject.Document.Frames.item(H).document;

 

Agora, observe como deve ser passada as informações:

 

 

doc := WebBrowserX.OleObject.Document.Frames.items[H].document;

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eisenheim... nos dois códigos dá a mensagem de erro que o método "items" não é suportado pela automação do objeto.



Olá amigo!

 

 

Observe como você está passando as informações:

doc := WebBrowserX.OleObject.Document.Frames.item(H).document;

 

Agora, observe como deve ser passada as informações:

 

 

doc := WebBrowserX.OleObject.Document.Frames.items[H].document;

 

Até a próxima. :thumbsup:

 

 

Eisenheim... nos dois códigos dá a mensagem de erro que o método "items" não é suportado pela automação do objeto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Na uses da sua interface, verifique se está declarado essas duas units:

 

OleCtrls e SHDocVw

 

Caso não esteja, acrescente-as e recompile seu projeto.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Na uses da sua interface, verifique se está declarado essas duas units:

 

OleCtrls e SHDocVw

 

Caso não esteja, acrescente-as e recompile seu projeto.

 

Até a próxima. :thumbsup:

 

Está sim. O programa compila direitinho e

OleCtrls e SHDocVw estão declaradas sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Entendi, é aqui eu apenas compilei, mas não cheguei a testar.

 

Vou pesquisar a respeito e qualquer novidade volto a compartilhar com você.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.