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?
InformationsquelleAutor Zarkonnen | 2012-10-05