Question
AutoCompletion champs web avec type name
- freeman62
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 7 ans 2 mois #27998
par freeman62
AutoCompletion champs web avec type name a été créé par freeman62
Bonjour,
En PowerShell, je souhaite remplir des champs html automatiquement.
Le site html semble simple :
[code:1]<input type=\"text\" name=\"monlogin\" size=\"15\" maxlength=\"15\"/>
<input type=\"password\" name=\"elcode\" size=\"15\" maxlength=\"15\"/>
<input type=\"submit\" name=\"go\" value=\"log on\" class=\"x1\">
<input type=\"reset\" value=\" refaire \" class=\"x2\">[/code:1]
Je me suis inspiré de ce code qui fonctionne avec mail 365 en remplaçant \"getElementById\" par \"getElementsByName\" car dans le html ci-dessus il y a un nom pas \"d'ID\" de champs, seulement un \"name\".
[code:1]# Remplacer les valeurs suivantes par vos informations
$loginpage = \"https://monnouveausite.com\"
$username= \"moncompte\"
$password= \"monmotdepasse\"
# On crée l'objet qui va permetre l'ouverture de la page
$ie = New-Object -com internetexplorer.application;
# Tant que les champs 'User' et 'Password' n'ont pas été remplis, on cache la page
$ie.visible = $false
# Le browser navige jusqu'à la page de login définie plus haut
write-host T1
$ie.navigate($loginpage)
write-host T2
# Le script attend que la page charge
while($ie.ReadyState -ne 4) {start-sleep -m 100}
write-host T3
# On popule les champs requis par nos informations de login
# Les ID sont ceux présents dans le code HTML de la page
$ie.Document.getElementsByName(\"monlogin\"«»).value = $username
$ie.Document.getElementsByName(\"elcode\"«»).value = $password
sleep -Seconds 2
# On clique sur le boutton, l'id est celui trouvé dans le code HTML
$ie.Document.getElementsByName(\"go\"«»).click()
# A ce mo:«»pinch: ment on affiche la page web
$ie.visible=$true
[/code:1]
(le code est bien plus lisible sur le lien mais sans mes petites modif' évoquées
)
Le résultat est que la page s'ouvre bien... Mais il ne se passe rien !
Les champs ne se remplissent pas et le formulaire n'est pas soumis.
Je n'ai pas d'erreur.
Toutefois, en ayant mis des write-host partout, je vois que le T3 n'apparait pas (donc ça semble bloquer sur \"while($ie.ReadyState -ne 4) {start-sleep -m 100}\")
D'avance, merci à vous !
Freeman.
En PowerShell, je souhaite remplir des champs html automatiquement.
Le site html semble simple :
[code:1]<input type=\"text\" name=\"monlogin\" size=\"15\" maxlength=\"15\"/>
<input type=\"password\" name=\"elcode\" size=\"15\" maxlength=\"15\"/>
<input type=\"submit\" name=\"go\" value=\"log on\" class=\"x1\">
<input type=\"reset\" value=\" refaire \" class=\"x2\">[/code:1]
Je me suis inspiré de ce code qui fonctionne avec mail 365 en remplaçant \"getElementById\" par \"getElementsByName\" car dans le html ci-dessus il y a un nom pas \"d'ID\" de champs, seulement un \"name\".
[code:1]# Remplacer les valeurs suivantes par vos informations
$loginpage = \"https://monnouveausite.com\"
$username= \"moncompte\"
$password= \"monmotdepasse\"
# On crée l'objet qui va permetre l'ouverture de la page
$ie = New-Object -com internetexplorer.application;
# Tant que les champs 'User' et 'Password' n'ont pas été remplis, on cache la page
$ie.visible = $false
# Le browser navige jusqu'à la page de login définie plus haut
write-host T1
$ie.navigate($loginpage)
write-host T2
# Le script attend que la page charge
while($ie.ReadyState -ne 4) {start-sleep -m 100}
write-host T3
# On popule les champs requis par nos informations de login
# Les ID sont ceux présents dans le code HTML de la page
$ie.Document.getElementsByName(\"monlogin\"«»).value = $username
$ie.Document.getElementsByName(\"elcode\"«»).value = $password
sleep -Seconds 2
# On clique sur le boutton, l'id est celui trouvé dans le code HTML
$ie.Document.getElementsByName(\"go\"«»).click()
# A ce mo:«»pinch: ment on affiche la page web
$ie.visible=$true
[/code:1]
(le code est bien plus lisible sur le lien mais sans mes petites modif' évoquées
Le résultat est que la page s'ouvre bien... Mais il ne se passe rien !
Les champs ne se remplissent pas et le formulaire n'est pas soumis.
Je n'ai pas d'erreur.
Toutefois, en ayant mis des write-host partout, je vois que le T3 n'apparait pas (donc ça semble bloquer sur \"while($ie.ReadyState -ne 4) {start-sleep -m 100}\")
D'avance, merci à vous !
Freeman.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- AutoCompletion champs web avec type name