一尘不染

如何在Selenium for Python上使用XPATH语法选择元素?

selenium

考虑使用以下HTML:

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

我想单击abc,但是包装div可能会更改,所以

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

不是我想要的

我试过了:

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

但这不适用于更深层的嵌套

有任何想法吗?


阅读 252

收藏
2020-06-26

共1个答案

一尘不染

的HTML

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

您可以将 XPATH 用作:

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

输出

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

也就是说,您的Python代码应为:

driver.find_element_by_xpath("//div[@id='a']//a[@class='click']")
2020-06-26