Comment la sémantique de Sélénium DOM localisateurs de travail?
J'essaie de comprendre la sémantique de Sélénium DOM locators. La documentation indique qu'ils sont fondamentalement Javascript expressions évaluées pour obtenir de l'élément cible. Mais si j'essaie d'évaluer par exemple document.div[0].button[2]
(à partir de ces exemples), je viens d'obtenir Error: TypeError: document.div is undefined
.
Est que l'exemple est-il invalide? Est-ce une ancienne façon de naviguer dans le DOM qui n'est plus pris en charge dans les navigateurs modernes, mais émulé par le Sélénium pour la rétro-compatibilité? Est-il de la documentation sur la façon dont cette syntaxe est destinée à travailler?
Remarque que je ne suis pas en train de utilisation DOM locators - j'en suis bien conscient que l'utilisation de CSS ou id ou même XPath est plus propre. J'ai, cependant, ont besoin de comprendre leur sémantique, donc je peux écrire du code qui peut convertir la commune de DOM localisateurs dans XPath locators pour une utilisation dans WebDriver.
- Il y a une excellente vue d'ensemble de certains DOM commandes en Sélénium ici: simple-talk.com/dotnet/.net-framework/... ... il parle beaucoup d'autres sélecteurs, mais il peut être utile de voir ce que les commandes ressemblent. Il donne un fichier PDF de ce qu'eugène a parlé ci-dessous.
- C'est en fait à peu près ce que je cherchais. À l'aide de cette table, je peux écrire le convertisseur dont j'ai besoin. Pourriez-vous mettre votre commentaire comme une réponse si je peux marquer ce que l'on a accepté la réponse?
Vous devez vous connecter pour publier un commentaire.
Il y a une excellente vue d'ensemble de certains DOM commandes en Sélénium ici:
http://www.simple-talk.com/dotnet/.net-framework/xpath,-css, dom-et-sélénium-la-rosetta-pierre/
Il parle beaucoup d'autres sélecteurs, mais il peut être utile de voir ce que les commandes ressemblent, par rapport à des solutions de rechange. Il donne un fichier PDF de ce qu'eugène a parlé ci-dessus aussi.
Je vous ferais partager ma compréhension de DOM locators. Il y a plusieurs DOM abréviations:
Xpath locators et les sélecteurs css sont utilisés dans le contexte de sélénium web pilote, et DOM locators sont utilisés dans le contexte de javascript (c'est à dire pour localiser l'élément avec DOM locator correctement tu aurais dû l'envelopper DOM localisateurs avec
JavascriptExecutor
d'abord)exemple d'utilisation:
Donc, si vous voulez faire ce travail, nous devrions l'appeler jsExecutor. - Il être quelque chose comme:
Aussi concernant votre question, j'ai trouvé un morceau d'explication ici
Espère que ça sera un ptit peu plus clair maintenant)