darknbr 0 Denunciar post Postado Maio 31, 2010 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 (FEITO) 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 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, MSHTML, Buttons, ComObj, Menus; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; MainMenu1: TMainMenu; Arquivo1: TMenuItem; Sair1: TMenuItem; Logar1: TMenuItem; procedure Logar1Click(Sender: TObject); procedure Sair1Click(Sender: TObject); procedure WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); private { Private declarations } public { Public declarations } procedure Delay(msecs:integer); {*} end; var document: IHTMLDocument2; theForm: IHTMLFormElement; index: integer; Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Delay(msecs:integer); {*...} var FirstTickCount:longint; begin FirstTickCount:=GetTickCount; repeat Application.ProcessMessages; {para acessar outros controles, etc.} until ((GetTickCount-FirstTickCount) >= Longint(msecs)); end; {...*} 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; procedure TForm1.Logar1Click(Sender: TObject); begin WebBrowser1.Navigate('http://www5.yonja.com/Login.jsp'); end; procedure TForm1.Sair1Click(Sender: TObject); begin Close; end; procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); 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 := 'dilma1@hotmail.com'; WebBrowser1.OleObject.Document.All.Tags('input').item('password').value := '*******'; document := WebBrowser1.Document as IHTMLDocument2; theForm := GetFormByNumber(document,0); SetFieldValue(theForm,'Form1', 'Login.jps'); theForm.submit; except end; end; end; end. Bem espero a ajuda para concluir!!! 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.Tags n 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> Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Nunes 0 Denunciar post Postado Junho 1, 2010 Cara, tentei entender o que voce quer, mas não consegui, tente explicar mais claramente e talvez até colocar o executavel pra gente ver. Ja criei alguns componentes que usam uma integração mais avançada com o webbrowser, talvez eu possa lhe ajudar. Compartilhar este post Link para o post Compartilhar em outros sites