darknbrr Postado Maio 31, 2010 Denunciar Share Postado Maio 31, 2010 Assim sou novo aqui ate desculpe se estou postando na area erradaQueria criar um sistema para automatizar uma funcao:1-Login site yonja.com que e muito parecido com o orkut2-automatizar funcao de envia "presentes para otros players" 2.1- Abrir 1 aplicativo num total de 7 2.2- ir na opcao gift 2.3- enviar os 50 gift (50 pessoas diferentes) 2.4- repetir com os otros 6 aplicativos 3-exibir msg sucess se completoeu so to conseguindo fazer isso com macros e n e o q eu quero.espero q a linha de raciocinio esteja certa bom espero a ajuda de todos obrigado x Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Maio 31, 2010 Denunciar Share Postado Maio 31, 2010 Tente fazer isso com o WebBrowser, veja os links abaixo:http://www.planetadelphi.com.br/artigo/97/...-pr%C3%A1tica./http://aflsistemas.com.br/blog/2009/04/07/...-do-webbrowser/Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Maio 31, 2010 Autor Denunciar Share Postado Maio 31, 2010 (editado) n entendi muito bem criar web browser da pra fazer mas assim digo criar um bot q faca tudo sem precisar ver nada ... ele apenas logaria faria tudo sozinho e daria msg de sucesso.mas estou lendo os artigos ae fica uma duvida como consigo o link de loga do site? Editado Maio 31, 2010 por darknbrr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Maio 31, 2010 Denunciar Share Postado Maio 31, 2010 O que você tem que fazer é entrar na página com o WebBrowser...Veja se tem todas essas Uses declaradas no seu projeto:uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, MSHTML, Buttons, ComObj; Agora coloque um componente WebBrowser no form. Em seguida adicione essas 2 funções ao seu projeto: function GetFormByNumber(document: IHTMLDocument2; formNumber: integer): IHTMLFormElement; var forms: IHTMLElementCollection; begin forms := document.Forms as IHTMLElementCollection; if formNumber < forms.Length then result := forms.Item(formNumber,'') as IHTMLFormElement else result := nil; end; procedure SetFieldValue(theForm: IHTMLFormElement; const fieldName: string; const newValue: string; const instance: integer=0); var field: IHTMLElement; inputField: IHTMLInputElement; selectField: IHTMLSelectElement; textField: IHTMLTextAreaElement; begin field := theForm.Item(fieldName,instance) as IHTMLElement; if Assigned(field) then begin if field.tagName = 'INPUT' then begin inputField := field as IHTMLInputElement; if (inputField.type_ <> 'radio') and (inputField.type_ <> 'checkbox') then inputField.value := newValue else inputField.checked := (newValue = 'checked'); end else if field.tagName = 'SELECT' then begin selectField := field as IHTMLSelectElement; selectField.value := newValue; end else if field.tagName = 'TEXTAREA' then begin textField := field as IHTMLTextAreaElement; textField.value := newValue; end; end; end; No evento OnShow do seu form você coloca isso: WebBrowser1.Navigate('http://yonja.com/'); E agora vá no evento OnDocumentComplete do componente WebBrowser e coloque isso: var document: IHTMLDocument2; theForm: IHTMLFormElement; index: integer; begin if (URL = 'http://yonja.com/') or (URL = 'http://www5.yonja.com/Login.jsp') then begin try WebBrowser1.OleObject.Document.All.Tags('input').item('nickname').value := 'usuario'; WebBrowser1.OleObject.Document.All.Tags('input').item('password').value := 'senha123'; document := WebBrowser1.Document as IHTMLDocument2; theForm := GetFormByNumber(document,0); SetFieldValue(theForm,'Form1', 'Login.jps'); theForm.submit; except end; end;P.S: não se esqueça de trocar o usuario e senha123 pelos respectivos dados!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Maio 31, 2010 Autor Denunciar Share Postado Maio 31, 2010 (editado) Passo 1 Completo..por meio de botoes num painel no topo consigo abrir as aplicacoes ... agora preciso manda os presentes 1 por 1 com um delay de 4 a 5 segundos entre um e otro tentei o comando sleep e o timer e n deu certo fora q WebBrowser1.OleObject.Document.All.Tagsn funciona com essa linha de comnado:<a onmouseout="gd_os_display.hide_tooltip();" onmouseover="gd_os_display.show_tooltip(_send_chips_title);" onclick="java script:gd_os_friends.prepare(0,true,'gd_os_friends.send_chips');" href="java script:void(0);"><img border="0" src="http://cachei.gamedesire.com/i/i_os/icons/gift1.png"> </a> Editado Junho 1, 2010 por darknbrr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 1, 2010 Denunciar Share Postado Junho 1, 2010 no OnDocumentComplete do WebBrowser, acrescente uma variável chamada script do tipo string, depois adicione essa procedure no seu form:procedure ExecuteScript(doc: IHTMLDocument2; script: string; language: string); begin if doc <> nil then begin if doc.parentWindow <> nil then doc.parentWindow.ExecScript(script, Olevariant(language)); end; end; Agora você faz um teste... lá no OnDocumentComplete do WebBrowser, depois que fizer o processo de logar você vai checar se a url é = a url que ele vai quando loga no site: if URL = 'http://yonja.com/pagina' then begin script := 'gd_os_friends.prepare(0,true,'gd_os_friends.send_chips');'; ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript'); end;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 1, 2010 Autor Denunciar Share Postado Junho 1, 2010 (editado) com comandos q usam numero exemplogd_os_friends.do_send_chips('798220257');sempre trava e fica parado no 7 o ultimo[Error] Unit1.pas(146): Missing operator or semicolonmesmo o evento sendo onclick continua sendo tratado como java?????? ex:gd_os_friends.do_send_chips('18156618057927522532');<input type="submit" onclick="gd_os_friends.do_send_chips('18156618057927522532');" name="submit_button" value="+$500" class="button">/////////////////////////////Beginif URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' thenbeginscript := 'open_link(_help_link);';ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript');end;end;fiz essa chmada completa no aplicativo n22 e sem resposta .. n abre o link help Editado Junho 1, 2010 por darknbrr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 1, 2010 Denunciar Share Postado Junho 1, 2010 com comandos q usam numero exemplogd_os_friends.do_send_chips('798220257');sempre trava e fica parado no 7 o ultimo[Error] Unit1.pas(146): Missing operator or semicolonEsse erro na maioria das vezes é porque a linha de cima está faltando ponto e virgula no final!mesmo o evento sendo onclick continua sendo tratado como java?????? ex:gd_os_friends.do_send_chips('18156618057927522532');<input type="submit" onclick="gd_os_friends.do_send_chips('18156618057927522532');" name="submit_button" value="+$500" class="button">java não! javascript... isso é a chamada para uma função em javascript!/////////////////////////////Beginif URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' thenbeginscript := 'open_link(_help_link);';ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript');end;end;fiz essa chmada completa no aplicativo n22 e sem resposta .. n abre o link helpNão abriu o link help pois a url que você colocou deve estar errada! Dá um showmessage dentro pra ver, e se ele não der a mensagem quer dizer que não entrou dentro do IF. Daí você pega e da um showmessage na var URL e descobre qual o verdadeiro link que você tem que colocar no if!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 1, 2010 Autor Denunciar Share Postado Junho 1, 2010 Não abriu o link help pois a url que você colocou deve estar errada! Dá um showmessage dentro pra ver, e se ele não der a mensagem quer dizer que não entrou dentro do IF. Daí você pega e da um showmessage na var URL e descobre qual o verdadeiro link que você tem que colocar no if!AbraçosN entendi essa parte a url do link e essa vo passa com o html.esse e a inspecao do link game help que ta na url:http://www5.yonja.com/GamePlay.jsp?id=22<a onclick="java script:open_link(_help_link);" href="java script:void(0);" class="link_style"><span><img border="0" src="http://cachei.gamedesire.com/i/i_os/icons/help.png"></span><span class="link_style_pos">Game help!</span></a> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 2, 2010 Denunciar Share Postado Junho 2, 2010 Aqui você checa se o webbrowser estiver nessa url:if URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' then porém essa url http://yonja.com/ApplicationPreview.jsp?app=22 pode estar incorreta! por isso você tem que fazer um showmessage dentro, assim ó: if URL = 'http://yonja.com/ApplicationPreview.jsp?app=22' then begin ShowMessage('Entrei!'); script := 'open_link(_help_link);'; ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript'); end;Caso não dê essa mensagem, quer dizer que a url está incorreta!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 2, 2010 Autor Denunciar Share Postado Junho 2, 2010 deu errro de execucao no Execute Script mas n url acima o showmessage deu Entrei como ok e essa a url Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 2, 2010 Denunciar Share Postado Junho 2, 2010 no ExecuteScript você tá passando uma função javascript ou outra coisa??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 2, 2010 Autor Denunciar Share Postado Junho 2, 2010 no ExecuteScript você tá passando uma função javascript ou outra coisa??? sim a q você postouExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 2, 2010 Denunciar Share Postado Junho 2, 2010 Não dá pra mim te ajudar agora se eu não tiver acesso ao site... não sei nem como se cadastrar, tá numa linguagem de outro mundo rsrsrs... se você tiver um login e senha e me explicar o que tenho que clicar talvez eu possa ajudar! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 2, 2010 Autor Denunciar Share Postado Junho 2, 2010 (editado) Não dá pra mim te ajudar agora se eu não tiver acesso ao site... não sei nem como se cadastrar, tá numa linguagem de outro mundo rsrsrs... se você tiver um login e senha e me explicar o que tenho que clicar talvez eu possa ajudar!L:dilma1@hotmail.comS:01470147podem usar essano site na pagina de login la no fim tem a bandeira da turkia e dos euaclica na dos eua pra o site fica em ingles Editado Junho 2, 2010 por darknbrr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 darknbrr Postado Junho 8, 2010 Autor Denunciar Share Postado Junho 8, 2010 ngm mais ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
darknbrr
Assim sou novo aqui ate desculpe se estou postando na area errada
Queria criar um sistema para automatizar uma funcao:
1-Login site yonja.com que e muito parecido com o orkut
2-automatizar funcao de envia "presentes para otros players"
2.1- Abrir 1 aplicativo num total de 7
2.2- ir na opcao gift
2.3- enviar os 50 gift (50 pessoas diferentes)
2.4- repetir com os otros 6 aplicativos
3-exibir msg sucess se completo
eu so to conseguindo fazer isso com macros e n e o q eu quero.
espero q a linha de raciocinio esteja certa bom espero a ajuda de todos obrigado x
Link 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.