TUTOS.EU

Automatiser la saisie d'éléments dans une page web en vbs

Remplir des champs d'un formulaire web et le poster en vbscript

'http://stackoverflow.com/questions/9940092/how-to-get-elements-that-have-no-id-in-vbscript
'Option Explicit

set ObjIE = CreateObject("InternetExplorer.Application")

ObjIE.Visible = True
ObjIE.Navigate "https://webinterfaceCitrix.local"

Do While ObjIE.Busy
	WScript.Sleep 1000
Loop

WScript.Sleep 2000
'Context.LogMessage "On entre le login/mdp"
Wscript.echo "On entre le login/mdp"
On error resume next
err.clear

ObjIE.Document.getElementByID("user").Value = "login"
ObjIE.Document.getElementByID("password").Value = "motdepasse"

If err.number <> 0 Then
	Wscript.echo "Le champ login/mdp n'a pas été trouvé. Arrêt"

	ObjIE.Stop
	ObjIE.Quit	

	'Des fois qu'il existe, on click sur le bouton pour se déconnecter
	err.clear
	ObjIE.Document.getElementByID("logoutAreaDisconnectLink").click
	Wscript.echo error.number
	wscript.quit

End If

Set ObjIEForm = ObjIE.document.Forms(0)
'Wscript.echo ObjIEForm.id
'Wscript.echo ObjIEForm.name
Wscript.echo "On poste le formulaire"
ObjIEForm.submit
Set ObjIEForm = Nothing
'Call ObjIE.Document.All.NomDuFormulaire.submit
'.Document.getElementByID("btnLogin").Click

Do While ObjIE.Busy
	WScript.Sleep 100
Loop

Wscript.echo "Formulaire chargé"

For Each objForm In ObjIE.document.All
	'If Len(Trim(objForm.name)) > 0 Then Wscript.echo "Form Name : " & objForm.name
	If (Len(Trim(objForm.id)) > 0) and (instr(objForm.id,"Montrouge.Bdoc")) Then Wscript.echo "Form ID : " & objForm.id
	'If (Len(Trim(objForm.id)) > 0) and (instr(objForm.id,"Montrouge.Bdoc")) Then Context.SetResult 0, "No error"
Next

Wscript.echo "Fermeture du navigateur"
ObjIE.Stop
ObjIE.Quit

set ObjIE = Nothing
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
Msdn.microsoft.comInternetExplorer object
Msdn.microsoft.comReusing the WebBrowser Control

2