AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Login Simulieren (WebBrowser)
Thema durchsuchen
Ansicht
Themen-Optionen

Login Simulieren (WebBrowser)

Ein Thema von GouJetir · begonnen am 9. Sep 2011 · letzter Beitrag vom 12. Sep 2011
Thema geschlossen
Seite 1 von 2  1 2      
GouJetir

Registriert seit: 9. Sep 2011
30 Beiträge
 
#1

Login Simulieren (WebBrowser)

  Alt 9. Sep 2011, 19:03
Hallo,
ich möchte einen WebBrowser in meinem Programm haben,bei dem ich mich auf www.hotmail.de automatisch einlogge. Dazu will ich bei Edit1 meine E-Mail/Username und bei Edit2 das Passwort.

Habe bereits 30 Minuten gesucht,aber nicht viel gefunden,da diese ebenfalls irgendwelche Errors hatten usw.
Wie ich einen WebBrowser mache weiss ich,würde aber gut sein,wenn ihr die vollständigen Code von allem gebt.

Also:
Bei Edit1 = Username/E-Mail --- Edit2 = Passwort
Auf Login drücken
WebBrowser geht auf Hotmail.de
Gebt Daten ein (Edit1 und Edit2)
Loggt sich ein

Danke
 
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#2

AW: Login Simulieren (WebBrowser)

  Alt 10. Sep 2011, 14:23
Hallo, so kannst du einloggen:

Delphi-Quellcode:
Webbrowser1.OleObject.document.forms.item(0).elements.item('login').value := Edit1.Text;
Webbrowser1.OleObject.document.forms.item(0).elements.item('passwd').value := Edit2.Text;
Webbrowser1.OleObject.document.forms.item(0).elements.item('SI').click;
 
GouJetir

Registriert seit: 9. Sep 2011
30 Beiträge
 
#3

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 13:05
Danke für die Antwort.
Bei Hotmail.de funktioniert es perfekt,aber bei web.de und anderen Seiten funktioniert es nicht.

Ich frag mich auch,was das hier bedeuten soll:

Delphi-Quellcode:
Webbrowser1.OleObject.document.forms.item(0).elements.item('login').value := Edit1.Text;
Webbrowser1.OleObject.document.forms.item(0).elements.item('passwd').value := Edit2.Text;
Webbrowser1.OleObject.document.forms.item(0).elements.item('SI').click;
Was bedeutet das bei ('login'),('passwd') und ('SI').
Woher kommen die und muss ich die für die anderen Seiten ändern?
Bei Hotmail kommt der sofort zur loginbox aber bei web nicht und ich weiss nicht wie das geht.

Edit: Ich hab gerade ein Tutorial dafür gefunden,aber das geht immernoch nicht.Ich habe da jetzt ('username') ('password') und ('rv_dologon').
Den Error bekomm ich wenn ich den Button einloggen drücke:
Project XXX.exe raised exception class EAclassViolation with message 'Access violation at adress 0045C03C3 in module 'XXX.exe'.Read of address '00000000'.Process stopped.Use step or Run to continue.

Gruß
GouJetir

Geändert von GouJetir (11. Sep 2011 um 13:30 Uhr)
 
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#4

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 13:25
Woher kommen die und muss ich die für die anderen Seiten ändern?
Einfach mal den Quelltext der Webseite betrachten und schauen, um was für Felder es sich handelt und wie diese heißen.

Auf web.de ist der Login-Button ein Bild, muss dementsprechend auch anders angeklickt werden.

Delphi-Quellcode:
uses
 MSHTML;

procedure WB_ClickImage(WB: TWebbrowser; ImageSRC: string);
var
  iDoc: IHtmlDocument2;
  i: Integer;
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  InputImage: HTMLInputImage;
begin
  if Assigned(WB.Document) then
  begin
    WB.Document.QueryInterface(IHTMLDocument2, iDoc);
    if Assigned(iDoc) then
    begin
      iDisp := iDoc.all.tags('INPUT');
      if Assigned(iDisp) then
      begin
        iDisp.QueryInterface(IHTMLElementCollection, iColl);
        if Assigned(iColl) then
        begin
          ImageSRC := AnsiUpperCase(ImageSRC);
          for i := 1 to iColl.Get_length do
          begin
            iDisp := iColl.item(Pred(i), 0);
            iDisp.QueryInterface(HTMLInputImage, InputImage);
            if Assigned(InputImage) then
            begin
              if Pos(ImageSRC, AnsiUpperCase(InputImage.src)) <> 0 then
              begin
                InputImage.Click;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Webbrowser1.OleObjec.document.forms.item(0).elements.item('username').value := Edit1.Text;
 Webbrowser1.OleObject.document.forms.item(0).elements.item('password').value := Edit2.Text;
 WB_ClickImage(Webbrowser1, 'btn_login.gif');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('https://produkte.web.de/freemail-webmail/');
end;
 
GouJetir

Registriert seit: 9. Sep 2011
30 Beiträge
 
#5

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 13:39
Okay aber jetzt bekomme ich:

Undeclared indentifier: WB_ClickImage
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 13:57
Einige (viele) Seitenbeteiber haben halt etwas dagegen (oder es verstößt sogar gegen deren AGB) und bauen kleine Hindernisse ein.

Wobei z.B. bei eMails von web.de oder hotmail.de ja noch offizielle Wege gibt, wie z.B. POP3


Zitat:
WB_ClickImage
Was mag wohl die Fehlermeldung bedeuten?
Und nun rate mal, was man dagegen machen könnte. (PS: hier im Thread steht die Lösung)


PS: falls du den Code nicht verstanden hast:
document.forms.item(0).elements.item('login') greift auf ein bestimmtes Element im "ersten" gefundenen Formular zu ... nur kann es mehrere Formulare auf eine Webseite geben, ebenso könnte das gesuchte Formular auch noch in einem Frame versteckt sein.
Da muß man dann natürlich, je nach Webseite die "Adresse", bzw. den Weg anpassen, sowie die Namen der Elemente, falls sie einen Namen haben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Sep 2011 um 14:03 Uhr)
 
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 14:02
[...]oder es verstößt sogar gegen deren AGB[...]
...wobei nicht alles, was sich einige Leute vorstellen und der Welt als "AGB" präsentieren, auch eine gesetzliche Grundlage hat.
Thomas Nitzschke
Google Maps mit Delphi
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 14:12
Ich sagte nicht, daß man dafür gleich im Knast landen könnte.
Aber daß der Betreiber einen dann von seinem Angebot ausschließt, wäre mindestens eine passende Maßnahme/Reaktion.

Wobei es ja, wie gesagt, oftmal auch offizielle Wege gäbe, welche sich manchmal auch leichter/problemloser nutzen lassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Sep 2011 um 14:14 Uhr)
 
GouJetir

Registriert seit: 9. Sep 2011
30 Beiträge
 
#9

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 14:18
Juhu geschafft ich werde zu einem Pro-Programmierer Ne Spaß - Danke

Edit: Noch ne Frage: Weil ja meine Seite eigentlich für Dshini sein soll,hab ich jetzt ein Problem beim absenden.

Die Seite auf der der sich einloggen soll ist: http://www.dshini.net/de/login

Bei Username hab ich:Webbrowser1.OleObject.document.forms.item(0).elements.item('signin[username]').value := Edit1.Text; und bei Passwort: Webbrowser1.OleObject.document.forms.item(0).elements.item('signin[password]').value := Edit2.Text; Aber ich find den Login-Button nicht.

Geändert von GouJetir (11. Sep 2011 um 14:35 Uhr)
 
GouJetir

Registriert seit: 9. Sep 2011
30 Beiträge
 
#10

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 17:22
Weiss das keiner oder geht es garnicht?
 
Thema geschlossen
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz