Comment faire pour sélectionner l'élément à l'aide de la syntaxe XPATH sur le Sélénium pour Python?

envisager HTML suivant:

<div id='a'>
  <div>
    <a class='click'>abc</a>
  </div>
</div>

Je veux cliquez sur abc, mais le conteneur div pourrait changer, donc

driver.get_element_by_xpath("//div[@id='a']/div/a[@class='click']")

n'est pas ce que je veux

j'ai essayé:

 driver.get_element_by_xpath("//div[@id='a']").get_element_by_xpath(.//a[@class='click']")

mais cela ne fonctionnerait pas avec la plus profonde imbrication

des idées?

  • avez-vous d'utiliser xpath? vous ne pouvez utiliser un sélecteur css? #un .cliquez sur ?
  • Bien changer votre façon? Est-il obtenir un ID? N'est c'est un changement de position? Place-t-elle que a élément en un autre élément?
  • sry na pas comprendre votre commentaire, le sélecteur #un .cliquez obtiendrez un élément avec un id et regarder à l'intérieur pour un élément avec la classe sur. si le conteneur div changements qu'il faudra encore travailler.
  • driver.get_element_by_xpath("//a[@class='click']")?
  • Il y a possibilité pour plusieurs <a class='cliquez sur'>abc</a> éléments dans la page, donc ne résout pas mon cas
  • Comment au sujet de la descendant le sélecteur? .... driver.get_element_by_xpath("//div[@id='a']").get_element_by_xpath(.//descendant::a[@class='click']")
  • but the wrapper div could change savez-vous ce que cela pourrait changer à l'? parce que si vous saviez, alors peut-être vous avez des conditions comme commence, se termine-avec, etc. et comme @FooBarUser etats.. utiliser les sélecteurs CSS.

InformationsquelleAutor user2534633 | 2013-09-26