Gabriel10101 Postado Abril 14, 2015 Denunciar Share Postado Abril 14, 2015 (editado) Fala galera to com um probleminha aqui,não consigo fazer o WebBrowser clicar em uma certa checkbox. Já tentei fazer todos os métodos que conhecia e nenhum funciono...Estou usando delphi 7 Pagina: <div class="agreement"> <div class="checkbox-small error"> <div class="checkbox-v checked" style="display: none;"></div> <input type="checkbox" name="agreement"> Editado Abril 14, 2015 por Gabriel10101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 15, 2015 Denunciar Share Postado Abril 15, 2015 faça uma pesquisa nesses links do forum http://www.google.com.br/search?q=clicar+webbrowser1+script+brasil+site:www.scriptbrasil.com.br&hl=pt&gbv=2&sa=X&ei=ttAuVeevEIm7ggSK64C4DQ&ved=0CB4QrQIwAA abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 20, 2015 Autor Denunciar Share Postado Abril 20, 2015 Consegui,agora estou com outro problema Jhonas.Depois do click o site abre uma mensagem dentro de uma box e eu queria fazer ele fechar a mesma sozinho para continuar o processo... Imagem: Já tentei o codigo de simular a tecla enter porém ele não fecha essa box Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 20, 2015 Denunciar Share Postado Abril 20, 2015 passa o codigo dessa janela Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 20, 2015 Autor Denunciar Share Postado Abril 20, 2015 (editado) Não posso dar ctrl + u no momento que aparece a mensagem porém creio que seja dessa fuction pois a mensagem é parecida... function cardReturned(){ if(ajaxRequest.readyState == 4){ if(ajaxRequest.responseText == "Win"){ document.form1.action = "donate3.php?c="; document.form1.submit(); return false; }else{ document.getElementById("theImage").style.display = "none"; alert(ajaxRequest.responseText + ". Please fix the information and try again. If you think this is in error, please contact the Food Bank of Lincoln at 402-466-8170."); return false; } } } function openWin(whatPage){ window.open(whatPage, "Help", "width=450, height=375, resizable=0, status=0, dependent=1"); } Editado Abril 20, 2015 por Gabriel10101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 21, 2015 Denunciar Share Postado Abril 21, 2015 tente esse exemplo uses ...OleCtrls, SHDocVw, MSHTML; procedure TForm1.FormCreate(Sender: TObject); var Url, Flags, TargetFrameName, PostData, Headers: OleVariant; begin Url := ExtractFilePath(Application.ExeName) + 'Test.htm'; WebBrowser1.Navigate2(Url, Flags, TargetFrameName, PostData, Headers); end; procedure TForm1.Button1Click(Sender: TObject); var doc: IHtmlDocument2; i: integer; ov: OleVariant; disp: IDispatch; collection: IHTMLElementCollection; inputelement: HTMLInputImage; begin WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, doc); if not Assigned(doc) then begin Exit; end; ov := 'INPUT'; disp := doc.all.tags(ov); if Assigned(disp) then begin disp.QueryInterface(IHTMLElementCollection, collection); if Assigned(collection) then begin for i := 1 to collection.Get_length do begin disp := collection.item(pred(i), 0); disp.QueryInterface(HTMLInputImage, inputelement); if Assigned(inputelement) then begin if inputelement.Name = 'submit then begin inputelement.Click; end; end; end; end; end; end; abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 23, 2015 Autor Denunciar Share Postado Abril 23, 2015 (editado) Valeu Jhonas,e venho com uma outra dúvida agora (ta virando rotina já) kkk <a data-id="endereco_cadastrar" href="" title="Cadastrar um novo endereço" class="bt btCadastrar">Cadastrar um novo endereço</a> <input type="submit" data-id="endereco_cadastro_salvar" value="Continuar" class="bt btContinuar"> Não consigo fazer ele clicar nesses 2 botões,pode me ajudar? Já tentei: Elements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (Elements.Length - 1) do begin if (Elements.item(i).tagName = 'INPUT') and (Elements.item(i).type = 'submit') and (Elements.item(i).Value = 'Continuar') then Elements.item(i).Click; end; Editado Abril 23, 2015 por Gabriel10101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 23, 2015 Denunciar Share Postado Abril 23, 2015 Elements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (Elements.Length - 1) do begin if (Elements.item(i).tagName = 'INPUT') and (Elements.item(i).type = 'submit') and (Elements.item(i).Value = 'Continuar') then Elements.item(i).Click; end; OBS: quanto ao type e o Value estão corretos mas veja se o tagName é realmente INPUT ou outro nome ( ver tambem diferença entre maiuscula e minuscula ) abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 23, 2015 Autor Denunciar Share Postado Abril 23, 2015 Está certo,já tentei colocar exatamente igual e não clica..Olha as linhas acima: <p class="grp bts"> <input type="button" data-id="endereco_cadastro_cancelar" value="Cancelar" class="bt btCancelar"> <input type="submit" data-id="endereco_cadastro_salvar" value="Continuar" class="bt btContinuar"> </p> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 23, 2015 Denunciar Share Postado Abril 23, 2015 faça isso para saber o conteudo do elemento Elements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (Elements.Length - 1) do begin showmessa(Elements.item(i).tagName ); showmessa(Elements.item(i).type ); showmessa(Elements.item(i).Value); end; abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 23, 2015 Autor Denunciar Share Postado Abril 23, 2015 Tentei fazer isso no tagName econtrou: "FIELDSET",e nos outros 2 deu erro porque não encontrou nada...Tentei utulizar FIELDSET e o type,value usei os mesmo mas não deu certo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 23, 2015 Denunciar Share Postado Abril 23, 2015 esse link vai te ajudar http://www.forum-invaders.com.br/vb/showthread.php/40318-D%C3%BAvida-Clicar-em-Elemento-HTML-TWebBrowser abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Abril 23, 2015 Autor Denunciar Share Postado Abril 23, 2015 (editado) Deu certo sim,ultima dúvida prometo kk Codigo: if not Continuar then break; [Error] Unit1.pas(232): BREAK or CONTINUE outside of loop Não entendi porque ta dando esse erro,a variável "continuar" muda para falsa caso o cliente pressione botão PARAR. Editado Abril 23, 2015 por Gabriel10101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 23, 2015 Denunciar Share Postado Abril 23, 2015 exemplo unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; continuar : integer = 1; y : integer = 1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); label voltar; var x: integer; begin for x := 1 to 20 do begin Memo1.Lines.Add(inttostr(x)); sleep(500); Application.ProcessMessages; if continuar = 0 then break; voltar: continue; end; if application.MessageBox('continuar o loop', '', MB_YESNO) = id_Yes then begin if continuar = 0 then begin continuar := 1; goto voltar; end; end; end; procedure TForm1.Button2Click(Sender: TObject); begin inc(y); if y = 1 then continuar := 1 else begin continuar := 0; y := 1; end; Application.ProcessMessages; end; end. abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel10101 Postado Maio 1, 2015 Autor Denunciar Share Postado Maio 1, 2015 (editado) Obrigado novamente...Em em casos igual esse exemplo: <span id="primary_cta" class="button_css"> <a href="javascript: eventbriteCheckout();" style="text-decoration:none;color:#fff;"> Order Now </a> </span> como faço para clicar? Editado Maio 1, 2015 por Gabriel10101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Maio 1, 2015 Denunciar Share Postado Maio 1, 2015 nesse caso não sei te dizer ... teria que pesquisar acho que isso é uma função "javascript: eventbriteCheckout();" Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gabriel10101
Fala galera to com um probleminha aqui,não consigo fazer o WebBrowser clicar em uma certa checkbox.
Já tentei fazer todos os métodos que conhecia e nenhum funciono...Estou usando delphi 7
Pagina:
Editado por Gabriel10101Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.