2010-05-22 4 views
0

est-il possible de se connecter à des sites comme facebook, gmail en utilisant iwebbrowser2?Comment puis-je me connecter à Gmail via Internet Explorer en utilisant iwebbrowser 2

dans le code ci-dessous que puis-je ajouter afin qu'il puisse se connecter à gmail (avec IE8 en tant que navigateur) en utilisant le nom d'utilisateur et mot de passe que je mets dans une variable?

MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; 
MyBrowser.Navigate('http://mysite.com'..........???); 

note: je suis un débutant.

désolé pour mon anglais :)

et merci à l'avance

Répondre

0

Vous pouvez utiliser javascript 'injection' pour contrôler votre site. Par « injection » Je veux dire qu'une fois que votre page gmail vous est chargé construire alors une url sous la forme

javascript:var Email = document.getElementById('Email');Email.value='User.Name'; 

javascript:var Password = document.getElementById('Passwd');Password.value='YourPassword'; 

javascript:var SignIn = document.getElementById('signIn');SignIn.click(); 

ou vous pouvez jeter tout sur une URL

javascript:var Email = document.getElementById('Email');Email.value='User.Name';var Password = document.getElementById('Passwd');Password.value='YourPassword';var SignIn = document.getElementById('signIn');SignIn.click(); 

Votre code serait alors ressembler à quelque chose comme:

MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; 
MyBrowser.Navigate('http://www.gmail.com'); 

myUserName := 'User.Name'; 
myPassword := 'password'; 
loginURL:='javascript:var Email = document.getElementById(''Email'');Email.value=''' + myUserName + ''';var Password = document.getElementById(''Passwd'');Password.value=''' + myPassword + ''';var SignIn = document.getElementById(''signIn'');SignIn.click();'; 

MyBrowser.Navigate(loginURL); 
+0

1 .Que suis-je censé mettre dans la clause uses? Je veux dire quelle unité? mon delphi ide souligne le createoleobject et d'autres choses (avec la couleur rouge) ce qui signifie que quelque chose doit être mis dans la clause uses (je mets 'activex' et 'ComObj' mais l'ide est toujours soulignant ainsi il doit y avoir quelque chose d'autre) il me manque, 2. aussi dois-je écrire mybroweser: = iwebbrowser2 dans la section var? si oui alors pourquoi pas simplement 'MyBrowser: = CreateOleObject (' InternetExplorer.Application ') comme IWebBrowser2;' ne déclarez-vous pas automatiquement mybrowser en tant que variable iwebbrowser2? merci d'avance –

+0

Posez une autre question, je viens de répondre à la question "comment contrôler à distance", je ne suis pas assez proche de Delphi pour répondre à cette question pour vous. – blissapp

0

Essayez plutôt d'utiliser TWebBrowser. TWebBrowser encapsule l'interface IWebBrowser2.

Voici un lien vers un exemple montrant comment faire un POST with TWebBrowser.

Si vous utilisez les composants HTTP et SSL d'Indy, vous aurez plus de flexibilité.

Questions connexes