use strict; use warnings;
use WWW::Mechanize;
my $URL = "
http://monadresse.com/membre/Login/1";
my $URL2 = "
http://monadrese.com/fiche/editer/";
my $URL3 = "
http://monadresse.com/fiche/categorize";/
my $URL4 = "
http://monadresse.com/fiche/lastStep/";
my $m = WWW::Mechanize->new(autocheck => 1);
# Manage cookies
$m->cookie_jar(HTTP::Cookies->new);
# récupération du formulaire
$m->agent_alias("Linux Mozilla");
$m->get( $URL );
die 'Échec de connexion : ' . $m->res->status_line()
unless $m->success();
# remplissage et validation
$m->form_number('2');
$m->set_fields(
login => 'monuser', # entrez vos identifiants de connexion ici
password => 'monpass'
);
# validation formulaire
$m->click();
# connexion réussie ?
die 'Échec de validation du formulaire : ' . $m->res()->status_line()
unless $m->success();
# affichage resultat
# print $m->content( format => 'text' );
$m->get("$URL2");
die 'Échec de validation du formulaire : ' . $m->res()->status_line()
unless $m->success();
$m->form_number('3');
$m->set_fields(
#champs formulaire 3: id=écrire
title => $title;
intro => $intro;
requiers => $requiers;
E1 => $e1;
E2 => $e2;
E3 => e3;
);
mon soucis est au niveau de E1, E2 et E3, qui sont générés par un javascript. Puisque WWW::Mechanize ne comprend pas le javascript, je ne peux absolument rien faire pour compléter le post. Le but était de récupérer les paragraphes du script que tu m'as aidé à compléter dans des variables que je refilerai en boucle à ce morceau de code pour soumettre les formulaires...
Voilà mon soucis... Sinon, je te mets aussi le code javascript qui génère les champs:
<fieldset>
<legend><img src="/img/e.gif" alt="E." /> Étapes de réalisation</legend>
<div id="stepsDiv">
<script type="text/javascript">
<!--
stepsDB.sync();
stepsDB.update();
//-->
</script>
<script type="text/javascript">
<!--
stepsDB.addStep('', 0, 0, 'imageFile', '');
stepsDB.addStep('', 0, 0, 'imageFile', '');
stepsDB.addStep('', 0, 0, 'imageFile', '');
stepsDB.update();
//-->
</script>
</div>
<div id="future_step0">
<p><img src="/img/puce_plus_bleue.gif" alt="" /> <a href="javascript:stepsDB.addStep('', 0, '', 'imageFile', '');stepsDB.update()" title="Ajouter une étape">Ajoutez une étape</a></p>
</div>
</fieldset>
<fieldset>
<legend><img src="/img/f.gif" alt="F." /> Astuces & Mises en garde</legend>
<div>
<label for="tips">Indiquez ici les petites astuces à retenir (passez à la ligne après chaque astuce).</label>
<textarea class="champ" cols="70" rows="5" id="tips" name="tips"></textarea>
</div>
<div>
<label for="warnings">Notez ici les mises en garde importantes à retenir (passez à la ligne après chaque mise en garde).</label>
<textarea class="champ" cols="70" rows="5" id="warnings" name="warnings"></textarea>
</div>
</fieldset>
<div>
<input type="hidden" value="3886" name="authorId" />
<input type="hidden" value="1" name="video" />
<input type="hidden" value="" name="img" />
<input type="hidden" value="" name="siteId" />
<input type="hidden" value="" name="idHowTo" />
<input type="hidden" name="nSteps" id="nSteps" />
</div>
<button type="button" class="bouton" onclick="javascript:spellCheck()"><span><span>Vérifier l'orthographe</span></span></button> <button type="submit" class="bouton" onclick="setAction('/fiche/add?opt=brouillon');"><span><span>Sauver comme brouillon</span></span></button> <button type="submit" class="bouton" onclick="setAction('/fiche/add?opt=test');"><span><span>Prévisualiser</span></span></button> <button type="submit" class="bouton" onclick="setAction('/fiche/add?opt=continue');"><span><span>Enregistrer et continuer</span></span></button>
Merci beaucoup pour ton aide et ta disponibilité!
Ce sont les parties importantes du code