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

XSL/XSLT/XPATH XML Discussion :

Requète sur un select


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut Requète sur un select
    Bonjour à tous,

    Actuellement, je suis en train de créer un test selenium, et j'ai besoin de XPath pour pouvoir interagir sur un élément de ma page web.

    Voici la zone concernée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select class="maClasse" id="idSelect" name="nameSelect">
         <option value>Indifférent</option>
         <option selected="selected" value="true">Oui</option>
         <option value="false">Non</option>
    </select>
    Ce que je souhaite, c'est récupérer "Indifférent" qui est la première option.
    J'ai essayé de nombreuses requètes XPath qui me sembles juste d'un point de vue algorithmique, mais aucunes ne passe ...

    Je précise que je ne peux pas modifier le code HTML, je dois donc faire avec ce que j'ai.

    Merci,

    Brownie03.

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    <option value>Indifférent</option>
    C'est malformé.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    Et il n'y a pas moyen de contourner cette erreur ?

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Et il n'y a pas moyen de contourner cette erreur ?
    Je dirais vous ne voulez pas contourner si vous voulez travailler avec technologies de xml. Il s'agit le principe de "well-formedness". Si value n'est pas nécessaire pour cette balise, ne le mettez pas là tout seul et c'est admissible s'il n'y a pas de schéma qui ait son mot à dire: mais je ne dirais pas dans ce cas que ce soit "contourner" en aucune façon.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    Oula, ...
    C'est moi ou la réponse est un peu bancalle ?

  6. #6
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    C'est certainement moi: n'inquietez pas.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je ne connais pas bien Selenium.

    J'explique en trois mots la situation :
    - XPath est une technologie qui s'applique à XML, ou du moins au modèle DOM cohérent avec XML.
    - HTML ne respecte pas XML. Donc en principe, pas de XPath pour HTML.
    - Il me semble que Selenium est un système d'émulation de navigateur automatisé sans affichage. Si tu dis qu'on peut utiliser XPath avec, ça veut dire qu'il a son propre truc pour réconcilier HTML et XPath. Mais moi je ne sais pas quels choix il fait.

    En l’occurrence, <option value> semble syntaxiquement correct. - Mais stupide. Il n'y a pas de différence entre mettre l'attribut value sans le définir, et ne pas le mettre du tout. Alors il serait plus clair de ne pas le mettre du tout.

    Est-ce que Selenium s'en sort avec ça, est-ce que ça le fait bugger... Peux pas savoir sans essayer, et j'ai pas envie.

    Supposons que tu aies un document XML qui contient ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select class="maClasse" id="idSelect" name="nameSelect">
         <option>Indifférent</option>
         <option selected="selected" value="true">Oui</option>
         <option value="false">Non</option>
    </select>
    Tu pourrais récupérer "Indifférent" avec ce XPath :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //select[@id='idSelect']/option[1]
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Pareil, je ne connais pas du tout Selenium. Par contre ce que je sais c'est qu'il est possible de faire du XPath sur n'importe quel objet DOM.

    Ce qu'il faut donc c'est un parseur capable de transformer du HTML en DOM. Une fois que c'est fait, il est tout à fait possible d'appliquer du XPath dessus.

    Ici par exemple, on fait du XPath/XQuery/XSL sur du SGML qui n'est pas du tout du XML bien formé (HTML dérive du SGML) et ça marche sans problème. La seule condition c'est d'avoir un parseur SGML (resp. HTML) capable de créer du DOM à partir d'un document SGML (resp. HTML).

    Là où tu as de la chance c'est qu'il existe déjà plein de parseurs HTML (à commencer par javascript), ce qui est loin d'être le cas du SGML...

    Après, seul ceux qui connaissent ton outil (Selenium) peuvent te dire s'il est possible de l'interfacer un tel parser.

Discussions similaires

  1. Requête select filtrée sur un select
    Par jacko842 dans le forum SQL
    Réponses: 6
    Dernier message: 21/09/2011, 14h58
  2. Réaliser une requête croisée basée sur une Select
    Par sakia dans le forum VBA Access
    Réponses: 6
    Dernier message: 15/09/2010, 17h25
  3. Selection résultat de requête sur zone de liste déroulante
    Par Boulken dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/03/2008, 13h04
  4. Requête sur un serveur lié
    Par Guizz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/08/2003, 11h35
  5. requête sur l'année d'une date
    Par jo77 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/07/2003, 09h28

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