Question Remplir un formulaire

Plus d'informations
il y a 8 ans 11 mois #23381 par Stéphane
Remplir un formulaire a été créé par Stéphane
Bonsoir,
Je cherche actuellement une solution pour agir sur une page web avec PowerShell, et plus précisément, interagir avec les formulaires.
Je n'arrive pas à comprendre; je suis allé chercher des bouts de codes trouvé ici et là et j'ai pas l'impression que ça fonctionne, ou tout du moins je n'arrive pas à communiquer avec la page si ce n'est pour charger une adresse..

[code:1]
$ie = New-Object -COMObject InternetExplorer.Application
$ie.visible = $true
$ie.Navigate(‘google.fr’)
While ($ie.Busy) { Start-Sleep -Milliseconds 400 }

$ie.document.getElementsByTagName(‘img’) | Select-Object -ExpandProperty src
$ie.document.getElementsByTagName(‘a’) | Select-Object -ExpandProperty href
[/code:1]

Rien qu'avec ça je n'ai aucune réponse sur la console, auriez-vous une explication ?

Merci d'avance !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 11 mois #23389 par Philippe
Réponse de Philippe sur le sujet Re:Remplir un formulaire
salut gaeV

connais tu le language HTML ?
sans cette base point de salut, pardon solution :evil:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 11 mois #23390 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Remplir un formulaire
Hello,

Pour interagir avec un formulaire Web, dans l'esprit de soumettre des valeurs et cliquer sur le bouton Envoyer ou quelque chose du genre, le plus simple est de \"sniffer\" la requête HTTP envoyée au serveur depuis ton client et de la rejouer en modifiant à la volée les données qui varient.

Pour envoyer des données sur internet avec PowerShell rien de plus simple avec Invoke-WebRequest .

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 11 mois #23394 par Stéphane
Réponse de Stéphane sur le sujet Re:Remplir un formulaire
@6ratgus => Oui je connais bien le language HTML pourquoi cette question ?

@Arnaud => Merci c'est précisément ce que je cherchais! Bon je me retrouve confronté à une erreur 405, mais c'est sûrement parce que je devrais plutôt faire \"cliquer\" sur envoyer, chose que j'ai pas encore trouvé... mais merci bien !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 11 mois #23398 par Stéphane
Réponse de Stéphane sur le sujet Re:Remplir un formulaire
Désolé d'embêter,
Mais j'ai regardé un p'tit peu, j'en suis venu à ce script, mais à première vue ça n'a pas l'air de fonctionner non plus...
Quelqu'un pourrait-il me dire si le code est correct ?

[code:1]
$Link = \"11.1.204.101/set_config_emailSMTP.html\"
$Field = \"SMTPServerEnableCheckBox\"
$Field_Value = \"11.22.33.44\"

$R =Invoke-WebRequest $Link -SessionVariable SV
$SV
$Form = $R.Forms[1]
$Form | Format-List
$Form.Fields
$Form.Fields[$Field] = $Field_Value
$R =Invoke-WebRequest -Uri (\"11.1.204.101\" + $Form.Action) -WebSession $SV -Method POST -Body $Form.Fields

$R.StatusDescription
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 11 mois #23407 par Philippe
Réponse de Philippe sur le sujet Re:Remplir un formulaire
est-ce que ton site utilise la methode POST pour l'envoie de données ?
tu peut le voir par la variable $Form | Format-List

est-ce le champs de saisie s'appelle \"SMTPServerEnableCheckBox\" ?
tu peut le voir par la variable $Form.fields


j'ai créé un compte test pour avoir un exemple qui fonctionne
l'exemple ci-dessous renvoie ok si l'ouverture du site fonctionne

[code:1]$R = Invoke-WebRequest \"www.facebook.com/login.php\"; -SessionVariable fb

$Form = $R.Forms[0]

$Form.Fields[\"email\"]=\"essai@free.fr\"
$Form.Fields[\"pass\"]=\"P@ssw0rd\"

$R=Invoke-WebRequest -Uri (\"https://www.facebook.com\" + $Form.Action) -WebSession $FB -Method POST -Body $Form.Fields
$R.StatusDescription[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.052 secondes
Propulsé par Kunena