IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Jsoup submit form


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Par défaut Jsoup submit form
    Bonjour,

    développant une app Android, je cherche à simuler un comportement sur une page web. J'ai trouvé Jsoup qui fonctionne très bien, je parviens à me connecter, récupérer les cookies et changer de page en utilisant ces derniers.

    Mon problème est lorsque je veux simuler une action sur un bouton de type submit. Il est compris dans une balise form avec méthode post.
    Le souci est que ma balise form contient beaucoup d'infos, et que je ne suis pas sûr de les mettre comme il faut.

    Voici le code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <form name="addToCartForm" method="post" action="/catalog/skuRouter.do" id="mainSkuForm">
       <div id="sku" class="newsku">
          <div id="skuTop" class="section nopad">
             <div class="section hproduct">
                <div class="col1">
                   <div class="product_image photo">
                      <div id="skuValue" style="display:none">187057</div>
                      <div class="product_image photo">		
                         <img src="/pictures/fr-fr/bsd/sk/lg/187057_sk_lg.jpg"  alt="" id="mainSkuProductImage" border="0" />	
                      </div>
                      <ul>
                         <li class="empty"></li>
                      </ul>
                   </div>
                </div>
                <div class="col2">
                   <div id="skuHeading">
                      <h1 class="fn">Carton de 5 Ramettes 500 feuilles OD everyday 3000 A4</h1>
                      <div class="item_sku">
                         Référence 187057&nbsp;Code Article&nbsp;187057
                      </div>
                      <div id='longBulletTop'>
                         <i></i>				                                        
                         <ul>
                         </ul>
                      </div>
                      <div id="skuAdTile"></div>
                      <div class="f_left">
                         <ul class="i99">
                            <li class="empty">
                            </li>
                         </ul>
                      </div>
                   </div>
                   <div id="skuActions" class="section">
                      <div class="icons f_left">
                         <ul class="sku_icons">
                            <a href="/catalog/iconlegend.do" class="" onclick="window.open('/catalog/iconlegend.do','','height=550,width=500,toolbars=no,resize=auto,scrollbars=yes'); return false"></a>
                            <li class="empty"></li>
                         </ul>
                      </div>
                      <div id="purchaseBlock" class='sku_column'>
                         <div id="productPurchase" class="sku_column_inside">
                            <div class="tax_mode">
                               <div class="list_price">
                                  <table class="rebate" cellspacing="0">
                                  </table>
                                  <div class='pricing_block'>
                                     <dl class='your_price '>
                                        <dt class='price_title '>
                                           Votre prix :
                                        </dt>
                                        <dd class="price">
                                           <span class="price_amount">
                                           25,59 €
                                           </span>&nbsp;<span class="uom">/
                                           BX
                                           </span>
                                        </dd>
                                     </dl>
                                  </div>
                               </div>
                               <div class="clear"></div>
                            </div>
                            <div id="skuPageActions">
                               <ul class="quantity_box big_a">
                                  <li class="quantity">
                                     <span  class="qty" >Qté</span>
                                  </li>
                                  <li>
                                     <input type="text" name="entryFormList[0].qty" maxlength="4" size="3" autocomplete="" min="0" max="" value="" id="mainqtybox" class="input focus"/>
                                  </li>
                                  <li class="cart">
                                     <div class="b1">
                                        <input type="submit" value="Ajouter au Panier" name="cmd_addSKU.button.INDEX[0]" class="button " title="Ajouter au Panier"  />
                                     </div>
                                  </li>
                                  <li class="list">
                                     <div class="b2"><input type="submit" value="Ajouter à la liste d'achats" name="cmd_addCSL.button.INDEX[0]" class="button cslRequestDialog" title="Ajouter à la liste d'achats"  /></div>
                                  </li>
                               </ul>
                               <input type="hidden" name="iref1" value="SKUPG">
                               <input type="hidden" name="iref2" value="0012">
                               <input type="hidden" name="id" value="187057">
                               <input type="hidden" name="entryFormList[0].selected" value="on">
                               <input type="hidden" name="pr" value="">
                               <input type="hidden" name="queryString" value="id=187057">
                               <input type="hidden" name="entryFormList[0].sku" value="187057" id="skuId">
                               <input type="hidden" name="entryFormList[0].customerEnteredSku" value="187057" id="customerEnteredSku">
                               <input type="hidden" name="comparisonCount" value="0" id="comparisonCount" />
                               <input type="hidden" name="cartEntryId" value="">
                            </div>
                            <input type="hidden" name="trackingCategory" value="accountloginAccountDisplay"/>
                            <div class="also_available">
                               <ul class="sku_icons">
                                  <li class="empty">
                                  </li>
                               </ul>
                            </div>
                         </div>
                         <input type="hidden" name="from" value='/catalog/catalogSku.do?id=187057&pr=' />
                      </div>
                      <div id="availabilityShipping" class="sku_column">
                         <div class="sku_column_inside">
                         </div>
                      </div>
                   </div>
                </div>
             </div>
          </div>
       </div>
       <input type="hidden" name="useSelected" value="false" />
       <input type="hidden" name="iref1" value="SKUPG">
       <input type="hidden" name="iref2" value="0012">
       <input type="hidden" name="compareEmptyReturn" value="specialOneUseFrom" />
    </form>
    Et voici mon code JAVA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Document doc = Jsoup.connect(url + "/catalog/skuRouter.do")
    					    .data("entryFormList[0].qty", "1")
    					    .data("cmd_addSKU.button.INDEX[0]", "Ajouter au Panier")
    					    .data("iref1", "SKUPG")
    					    .data("iref2", "0012")
    					    .data("id", "187057")
    					    .data("entryFormList[0].selected", "on")
    					    .data("pr", "")
    					    .data("queryString", "id=187057")
    					    .data("entryFormList[0].sku", "187057")
    					    .data("entryFormList[0].customerEnteredSku", "187057")
    					    .data("comparisonCount", "0")
    					    .data("cartEntryId",  "")
    					    .data("trackingCategory",  "accountloginAccountDisplay")
    					    .data("from", "/catalog/catalogSku.do?id=187057&pr=")
    					    .data("useSelected", "false")
    					    .data("iref1", "SKUPG")
    					    .data("iref2", "0012")
    					    .data("compareEmptyReturn", "specialOneUseFrom")
    					    .cookies(loginCookies)
    					    .post();
    Je demande donc votre aide: est-ce que je passe trop d'infos, doivent-elles être dans un ordre spécifique.. Je suis un peu perdu là-dessus.
    P.S : même si htmUnit est 100* mieux je ne cherche pas à changer de lib pour l'instant, j'aimerai bien comprendre.

    En vous remerciant d'avance.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Par défaut
    Re.

    J'ai trouvé mon problème, en utilisant Fiddler2 j'ai pu analyser les couples nom/valeur passées en paramètres par la méthode POST et retranscrire ça comme il fallait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. submit form différent entre IE et FF
    Par zozizozu dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/08/2010, 13h04
  2. submit form ne marche pas avec Firefox
    Par Regis0122 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 14/05/2009, 11h16
  3. submit form IE/FF
    Par Kyros dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/08/2007, 14h57
  4. submit form sur changement de valeur
    Par killerhertz dans le forum ASP
    Réponses: 4
    Dernier message: 23/07/2006, 15h05
  5. submit form dans fonction JScript, Erreur :(
    Par mbk-w dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/05/2006, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo