11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous

J'ai rempli deux INPUT grace à la fonction content.document.getElementsByTagName" pour me loguer sur un site, mais lorsque je fait un form.submit() ou un bouton.Click() pour valider, les valeurs inscrites ne sont pas prises en compte.
Si je clique manuellement, c'est la même chose.

Comment puis je faire pour que les valeurs inscrites automatiquement puisse être prise en compte lors de l'appuis sur le bouton VALIDER

Voici le code de la page

<form class="form-signin ng-pristine ng-invalid ng-invalid-required" data-ng-submit="login($event)">
<h2 class="form-signin-heading">Connectez-vous à <span class="ng-scope" translate="global.title">Intranet</span>&nbsp;<span class="glyph-abdf abdf-rocket"></span></h2>
<label for="username" translate="global.form.username" class="sr-only ng-scope">XXT</label>
<input style="" class="form-control form-signin-username ng-pristine ng-invalid ng-invalid-required ng-touched" id="username" placeholder="Votre XXT" ng-model="username" required="" autofocus="" type="text">

<label for="password" translate="login.form.password" class="sr-only ng-scope">Mot de passe</label>
<input class="form-control form-signin-password ng-pristine ng-untouched ng-invalid ng-invalid-required" id="password" placeholder="Votre mot de passe" ng-model="password" required="" type="password">

<button type="submit" class="btn btn-lg btn-primary btn-block ng-scope" translate="login.form.button">Connexion</button>
</form>

<div class="alert alert-danger form-signin-error ng-scope ng-hide" ng-show="authenticationError" translate="login.messages.error.authentication"><strong>Erreur d'authentification !</strong> Veuillez vérifier vos identifiants de connexion.</div>
<!-- TODO: on désactive temporairement le message "vous avez été déconnecté" car il s'affiche systématiquement quand arrive sur l'écran de login -->
<!--<div class="alert alert-danger form-signin-error" ng-show="disconnected && !authenticationError" translate="login.messages.error.disconnected">-->
<!--<strong>Authentication failed!</strong> You have been disconnected.-->
<!--</div>-->


et pour remplir mes champs, j'ai fait

content.document.getElementsByTagName('input')[0].value="XXXX"
content.document.getElementsByTagName('input')[1].value="XXXX"
content.document.getElementsByClassName('btn')[0].click()


car avec :

content.document.getElementsByClassName('form-signin')[0].submit();

ça marche pas

Merci et bonne journée
Essaye comme ceci:

<button type="submit" class="btn btn-lg btn-primary btn-block ng-scope" onclick="this.form.submit()">Connexion</button>
Bonjour Nabucco

Le problème c'est que le site n'est pas le miens.

J'essaie de me connecter sur mon compte sur un site interne de mon entreprise automatiquement
C'est hors de mes compétences... il existe des solutions avec la libraire curl en php, mais je n'y connais pas grand chose.
Sinon autre piste, tu envoies ces infos par l'url. Le lien du site et tu ajoutes ceci à la fin: &user=moi&pwd=secret
Merci de ton aide

C'est dingue cette histoire, lon login et mdp s'inscrivent correctement, mais lorsque je valide le comportement est comme si je n'avais rien entré.
Peut être que c'est un système de sécurité ? Car la page est en https

Et pourtant ça marche avec des sendkeys, ou la touche est simulée

Comme quoi la value n'est oas prise en compte lorsqu'on la change par le javascript

Je vais essayer de creuser les pistes que tu m'as indiqué
Encore merci