est-il possible de trouver des éléments de frère / parent / enfant / etc. dans le contexte de l'élément mobile existant. Par exemple, j'ai un élément de base: MobileLement MobileElement = pilote.findellement (by.xpath ("// n'importe quel / xpath / localisateur")); p>
Puis j'ai besoin de trouver l'élément de frère de soeur suivant. Dans le sélénium, je pourrais utiliser le code similaire: MobileElement NextMobileElement = MobileElement.findellement ("Suite-Sibling :: Nextellement ['Toute condition']"); Mais dans l'appui, je reçois NosuchelementException. P>
Quelle est la syntaxe appropriée pour l'utilisation des axes XPath dans l'appui pour localiser des éléments de manière définie ci-dessus? p>
3 Réponses :
En général, si vous souhaitez trouver un élément sous un élément parent à l'aide de XPath, ajoutez un . strong> au XPath pour dire que l'élément enfant XPath doit être recherché sous l'élément parent donné. Donc, dans votre cas, vous pouvez essayer quelque chose comme: par exemple mobileelement.findellement (by.xpath (". Strong> // div [@ class = 'xyz' ] ") p> p>
Je connais cette fonctionnalité et j'ai essayé d'utiliser un. Avec une seule double / dans mon expression XPath, mais dans tous les cas, j'ai eu "NosuchelementException".
Ensuite, pouvez-vous poster votre DOM XML et le XPATH que vous essayez d'utiliser, de sorte qu'il nous donnera une meilleure idée de votre problème?
Appium prend en charge XPath en tant que webDriver. Assurez-vous que votre XPATH est correct, vous pouvez le tester dans Appium-Desktop . Suite-Sibling Code> travaillait pour moi sans aucun problème.
Lorsque l'appui n'est pas en mesure de traiter l'expression XPath, vous devez obtenir l'exception correspondante. P>
solution trouvée à la prochaine intention: Lorsque l'appium est incapable de sélectionner l'élément par son nom, c'est-à-dire un élément, vous pouvez alors visualiser l'attribut "Class" de la classe ", et il contiendra un texte identique: Classe =" Android.Widget.viewanator ". Vous pouvez donc construire des localisateurs compliqués d'Oyur XPath basé sur cet attribut. En cas d'axes XPath, il semblera de ressembler à ceci: // Certains / XPath / Aburant-frère :: * [@ class = 'android.widget.viewanimator']. P>