Einzelnen Beitrag anzeigen

emploi

Registriert seit: 21. Jun 2004
Ort: Ilmtown
40 Beiträge
 
Delphi 7 Enterprise
 
#10

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

  Alt 2. Okt 2004, 18:29
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
  Mit Zitat antworten Zitat