J'utilise le code suivant pour entrer un nom d'utilisateur et un mot de passe dans leurs champs respectifs sur un formulaire de connexion.TWebBrowser auto login
var
Doc: IHTMLDocument2;
I: Integer;
Element: OleVariant;
Elements: IHTMLElementCollection;
Sub: Variant;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
Elements := Doc.All;
for I := 0 to Elements.length - 1 do begin
Element := Elements.item(I, varEmpty);
if (UpperCase(Element.tagName) = 'INPUT') and (UpperCase(Element.Type) = 'TEXT') then begin
if (Element.name = 'user') then Element.value := 'theusername';
if (UpperCase(Element.tagName) = 'INPUT') and (UpperCase(Element.Type) = 'PASSWORD') then begin
if (Element.name = 'passwrd') then Element.value := 'thepassword';
end;
end;
Sub := WebBrowser1.Document;
Sub.frmLogin.Submit();
end;
end;
Infos sur les champs respectifs:
Qu'est-ce qui se passe quand je lance le code:
Comme vous pouvez le voir, la partie nom d'utilisateur œuvres , le nom d'utilisateur est inséré. Le champ de mot de passe, cependant, ne fait pas.
Qu'est-ce que je fais mal?
'UpperCase (Element.tagName) = 'input'' et la suivante ne regardez pas à droite -' UpperCase' a gagné' t match 'entrée' – BrakNicku
@BrakNicku édité la question avec le code, une faute de frappe de ma part, désolé à ce sujet. Quoi qu'il en soit, cela ne fonctionne pas, avec ou sans majuscules et ainsi de suite, la même chose arrive. – Petzy
seulement le premier (externe) 'IF' est vérifié chaque fois dans la boucle – BrakNicku