如何在 Selenium for Python 上使用 XPATH 语法选择元素? [英] How to select element using XPATH syntax on Selenium for Python?
本文介绍了如何在 Selenium for Python 上使用 XPATH 语法选择元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑以下 HTML:
<div><a class='click'>abc</a>
我想点击 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']")
但这不适用于更深的嵌套
有什么想法吗?
解决方案
HTML
<div><a class='click'>abc</a>
您可以将 XPATH 用作:
//div[@id='a']//a[@class='click']
输出
abc
也就是说你的 Python 代码应该是:
driver.find_element_by_xpath("//div[@id='a']//a[@class='click']")
consider following HTML:
<div id='a'>
<div>
<a class='click'>abc</a>
</div>
</div>
I want to click abc, but the wrapper div could change, so
driver.get_element_by_xpath("//div[@id='a']/div/a[@class='click']")
is not what I want
i tried:
driver.get_element_by_xpath("//div[@id='a']").get_element_by_xpath(.//a[@class='click']")
but this would not work with deeper nesting
any ideas?
解决方案
HTML
<div id='a'>
<div>
<a class='click'>abc</a>
</div>
</div>
You could use the XPATH as :
//div[@id='a']//a[@class='click']
output
<a class="click">abc</a>
That said your Python code should be as :
driver.find_element_by_xpath("//div[@id='a']//a[@class='click']")
这篇关于如何在 Selenium for Python 上使用 XPATH 语法选择元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文