Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi login wie bei web.de o.ä. (https://www.delphipraxis.net/30966-login-wie-bei-web-de-o-ae.html)

glkgereon 1. Okt 2004 22:02


login wie bei web.de o.ä.
 
hi

wie kann ich mich in delphi auf einer seite einloggen, sowie in opera mit strg+enter oder so?

fiasko 1. Okt 2004 22:04

Re: login wie bei web.de o.ä.
 
Was für'ne Seite in Delphi???

Was passiert beim Opera wenn man Ctrl+Return drückt???

glkgereon 1. Okt 2004 22:08

Re: login wie bei web.de o.ä.
 
also, bei opera wird dann automatisch per wand name+passwort eingegeben und der login-button gedrückt

ich wollte das mit TWebBrowser machen...

fiasko 1. Okt 2004 22:22

Re: login wie bei web.de o.ä.
 
Zitat:

Zitat von glkbkk
automatisch per wand name+passwort

Per Wand? Duden look-up... vielleicht meinst du:

Zitat:

Zitat von glkbkk
automatisch per hand name+passwort


Ach du Schande! :mrgreen:

TParadoxonException.Create();


--cut---

Ich denke mal du willst sowas machen das HTML-Formulare automatisch ausgefüllt werden? Da wüßte ich jetzt aus der Kalten auch nicht wie...

alcaeus 1. Okt 2004 22:24

Re: login wie bei web.de o.ä.
 
Hi glkbkk, Hi Thomas,

WAND ist der Passwort-manager von Opera.
Bemüh mal die Suche zu diesem Thema, es gab schon ein oder zwei Beiträge, in welchen es ums automatische ausfüllen von Formularen im Webbrowser ging.

Greetz
alcaeus

Alienhere 2. Okt 2004 11:31

Re: login wie bei web.de o.ä.
 
Schick Deinen Browser auf die Reise.

Wenn er am Ziel ist, würde ich mal sendkeys.pas (uralt) oder was Ähnliches ausprobieren.

mfg

Aenogym 2. Okt 2004 11:44

Re: login wie bei web.de o.ä.
 
hi,

bei den schweizern gibts mal wieder einen tipp dazu ;)

Aenogym

glkgereon 2. Okt 2004 18:13

Re: login wie bei web.de o.ä.
 
thx, ixch denk ich werd damit klarkommen...

toms 2. Okt 2004 18:16

Re: login wie bei web.de o.ä.
 
oder hier

emploi 2. Okt 2004 18:29

Re: login wie bei web.de o.ä.
 
hi

das sollte gehen:

Delphi-Quellcode:
PROCEDURE FillYourInput(WebBrowser1:TWebBrowser; name,text:STRING);
VAR i,j,k: Integer;
    ovElements,ovFrames: OleVariant;
BEGIN
  IF Webbrowser1.OleObject.Document.Frames.Length <> 0 THEN
  BEGIN
        ovFrames := Webbrowser1.OleObject.Document.Frames;
        FOR j := 0 TO (ovFrames.Length - 1) DO
            FOR k := 0 TO (ovFrames.Item(j).Document.Forms.Length - 1) DO
            BEGIN
                ovElements := ovFrames.Item(j).Document.Forms.Item(k).elements;
                FOR i := 0 TO (ovElements.Length - 1) DO
                  IF ((ovElements.Item(i).tagName = 'INPUT')
                  AND (ovElements.Item(i).name = name)) THEN
                      ovElements.Item(i).value := text;
            END;
  END
  ELSE
  BEGIN
      FOR j := 0 TO (WebBrowser1.OleObject.Document.forms.Length - 1) DO
      BEGIN
          ovElements := WebBrowser1.OleObject.Document.forms.item(j).elements;
          FOR i := 0 TO (ovElements.Length - 1) DO
              IF ((ovElements.Item(i).tagName = 'INPUT')
              AND (ovElements.Item(i).name = name)) THEN
                 ovElements.Item(i).value := text;
      END;
  END;
END;
Musst ihm einfach den WebBrowser und den 'Text' der eingetragen werden soll übergeben. Im Gegensatz zu dem quellcode von dem link der einen post vorher mitgeteilt wurde, funktioniert der code auch bei frames.

Damit du dann auch noch den Button deiner Wahl klicken kannst kannste ja die funktion benutzen:

Delphi-Quellcode:
PROCEDURE ClickOnButton(WebBrowser1:TWebBrowser; BT_text:STRING);
VAR
  ovElements,ovFrames: OleVariant;
  i,j,k: Integer;
BEGIN
  IF Webbrowser1.OleObject.Document.Frames.Length <> 0 THEN
  BEGIN
        ovFrames := Webbrowser1.OleObject.Document.Frames;
        FOR j := 0 TO (ovFrames.Length - 1) DO
            FOR k := 0 TO (ovFrames.Item(j).Document.Forms.Length - 1) DO
            BEGIN
                ovElements := ovFrames.Item(j).Document.Forms.Item(k).elements;
                FOR i := 0 TO (ovElements.Length - 1) DO
                  IF ((ovElements.Item(i).tagName = 'INPUT')
                    AND (ovElements.Item(i).type = 'submit')
                    AND (ovElements.Item(i).Value = BT_text)) THEN
                        ovElements.Item(i).Click;
            END;
  END
  ELSE
  BEGIN
      FOR j := 0 TO (WebBrowser1.OleObject.Document.forms.Length - 1) DO
      BEGIN
          ovElements := WebBrowser1.OleObject.Document.forms.item(j).elements;
          FOR i := 0 TO (ovElements.Length - 1) DO
              IF ((ovElements.item(i).tagName = 'INPUT')
                AND (ovElements.item(i).type = 'submit')
                AND (ovElements.item(i).Value = BT_text)) THEN
                    ovElements.item(i).Click;
      END;
  END;
END;

Prinzipiell ist es immer das gleiche schema. nach dieser Art kannste eigentlich fast alles lösen!

mfg emploi


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz