![]() |
Re: login wie bei web.de o.ä.
ich peil das nicht mkit den frames etc...
also ich will das bei web.de machen.... das is der code für die inputs.... wie mach ich das jetzt?
Code:
<label class="labelUsername" for="inpLoginUsername">WEB.DE Nutzer</label>
<input id="inpLoginUsername" type="text" name="username" /> <label class="labelPassword" for="inpLoginPassword">Passwort</label> <input id="inpLoginPassword" type="password" name="password" /> ah, neuer qt....auch angucken.... |
Re: login wie bei web.de o.ä.
also, ich hab jetzt den quelltext, abver es funzt nit
Delphi-Quellcode:
oben is der auszug aus der seite....
procedure TForm1.Button1Click(Sender: TObject);
begin FillYourInput(WebBrowser1,'username','glkgereon'); FillYourInput(WebBrowser1,'passwort','hallo'); end; was is das falsch achso, was nichrt funzt: es kommt nix....das edit bleibt einfach leer.... auch ein update hilft nix |
Re: login wie bei web.de o.ä.
ich tests mal eben.
-- hm sieht so aus das es an den <div> tags liegt das es deswegen nicht geht. muss mal gucken ob ich dafür ne lösung hinbekomme. --- liegt nicht an den divs, habn fehler drin gehabt. obwohls sonst irgendwie immer ging :) komisch. naja hier die überarbeitete version:
Delphi-Quellcode:
PROCEDURE ClickOnButton(WebBrowser1:TWebBrowser; BT_text:STRING);
VAR ovElements,ovFrames: OleVariant; i,j,k: Integer; BEGIN IF Webbrowser1.OleObject.Document.Frames.Length > 1 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; PROCEDURE FillYourInput(WebBrowser1:TWebBrowser; name,text:STRING); VAR i,j,k: Integer; ovElements,ovFrames: OleVariant; BEGIN IF Webbrowser1.OleObject.Document.Frames.Length > 1 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; sollte jetzt klappen, also bei mir gings :) mfg emploi |
Re: login wie bei web.de o.ä.
Ich gehe mal davon aus, dass du die Felder nicht nur so zum Spaß ausfüllst, sondern dich einloggen willst. Und es scheint mir so, als willst du das nur bei web.de machen. Also sehen wir uns mal den Code vom Form an:
Code:
Unbenötigte Teile mal wegelassen.
<form action="https://login.web.de/intern/login/" method="post" name="fm">
<input type="hidden" name="service" value="freemail"/> <input type="hidden" name="server" value="https://freemail.web.de"/> <input type="hidden" name="onerror" value="https://freemail.web.de/msg/temporaer.htm"/> <input type="hidden" name="onfail" value="https://freemail.web.de/msg/logonfailed.htm"/> [..] <input id="inpLoginUsername" type="text" name="username" /> [..] <input id="inpLoginPassword" type="password" name="password" /> [..]<input class="submitButton" type="submit" name="rv_dologon" value="Login" />[..] [..] </form> Diese Seite: <form action="https://login.web.de/intern/login/" method="post" name="fm"> ruft er auf mit den parametern, die in den Feldern stehen. Zunächst haben wir ein paar versteckte eingabefelder, durch die wir ein paar statische Angaben bekommen. Das sind die Felder, bei denen "hidden" im type-Attribut steht. Dann kommen noch die Felder mit username und passwort. Beim klicken auf "submit" wird die im action-Attribut des Form-tags aufgerufen. Dabei werden dieser Seite Paramater übergeben. Der Teil hinter der I-Netdresse sieht so aus: ?[parameter1]=[Wert1]&[parameter2]=[Wert2]&[parameter3]=[Wert3] paramater sind jewals die Werte, die in den name-Atributen sind und die Werte, sind die Werte, die in den value-Attributen, bzw. der Usereingabe bestehen. Umgesetzt sied die Aufgerufene Seite also so aus:
Code:
ich denke du solltest in der Lage sein, die Adresse zu vervollständigen. Dann kannst du die entsprechende Seite direkt aufrufen.
https://login.web.de/intern/login/?service=freemail&server=https://freemail.web.de[..]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr. |
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