web-dev-qa-db-ja.com

Selenium for PythonでXPATH構文を使用して要素を選択する方法は?

次の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']")

しかし、これはより深いネストでは機能しません

何か案は?

20
user2534633

[〜#〜] 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']")
34
Arup Rakshit