2011-10-17 3 views
2

J'essaie de trouver la valeur d'attribut de l'attribut title.Selenium: requête css concernant la fonction get_attribute()

Maintenant, j'ai une liste de liens similaires sur la même page et je veux sélectionner le premier lien et obtenir son attribut de titre.

J'ai utilisé la commande suivante sélénium:

self.se.get_attribute("css=a[href*='radio?rid=']:nth-of-type(1)@title") 

Mais il me donne une erreur.

Quelqu'un pourrait-il m'aider à comprendre le problème? Merci

Répondre

0

Vous devez utiliser la syntaxe XPath au lieu des sélecteurs CSS. Vous ne l'avez pas postez HTML pour correspondre, donc par conséquent un exemple composé: pour obtenir le titre du premier lien qui se trouve dans un div id avec myDiv, utilisez les éléments suivants:

self.se.get_attribute("xpath=//div[@id='myDiv']//a[1]@title") 

Où:

  • //div[@id='myDiv'] correspond à n'importe quelle div avec l'identifiant "myDiv";
  • //a[1] sélectionnez le premier lien qui se trouve partout dans le div précédemment sélectionné (utilisez 2 pour la deuxième, et ainsi de suite.
  • @title spécifie l'attribut que vous souhaitez récupérer.
+0

merci pour la réponse, mais je suis vous cherchez quelque chose qui utilise spécifiquement CSS – Sunny

+0

Veuillez publier le segment de HTML que vous essayez de faire correspondre, ainsi que l'erreur que vous obtenez.Le sélecteur a l'air bien, nous avons donc besoin du contexte dans lequel il échoue pour déterminer la cause. mise à jour dynamique de la page (par exemple en utilisant Ajax)? Dans ce cas, êtes-vous sûr que l'élément est présent au moment où vous l'interrogez? – jro

+1

Merci pour l'aide à ce sujet. Vous avez raison, le sélecteur est en fait correct, le problème était qu'il échouait parfois lorsque la balise HTML ne contenait pas d'attribut title. Mais quand l'attribut title était là, tout allait bien. – Sunny