web-dev-qa-db-fra.com

Comment sélectionner un élément en utilisant la syntaxe XPATH sur Selenium pour Python?

pensez à suivre HTML:

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

Je veux cliquer sur abc, mais le div wrapper peut 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 une imbrication plus profonde

des idées?

20
user2534633

HTML

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

Vous pouvez utiliser le XPATH comme:

//div[@id='a']//a[@class='click']

sortie

<a class="click">abc</a>

Cela dit, votre code Python devrait être le suivant:

driver.find_element_by_xpath("//div[@id='a']//a[@class='click']")
34
Arup Rakshit