如何通过xpath选择父组件的父组件

时间:2014-09-13 07:49:15

标签: python selenium xpath

有没有办法到父母的父母的父母? :)不要这样做:

driver.find_element_by_xpath("//*[contains(text(), 'folder name')]").find_element_by_xpath('..').find_element_by_xpath('..').find_element_by_xpath('..').find_element_by_xpath('//tr[2]/td[2]/div')

所以我首先需要找到我的文件夹名称,而不是去父母,而只是找到我的元素。这是我能做到的唯一方法。因为所有文件夹都具有相同的元素。

2 个答案:

答案 0 :(得分:1)

您可以将其表示为单个xpath:

driver.find_element_by_xpath(
    "//*[contains(text(), 'folder name')]/../../..//tr[2]/td[2]/div"
)

答案 1 :(得分:0)

您可以使用ancestor xpath函数缩短表达式。请参阅http://www.w3schools.com/xpath/xpath_axes.asp作为示例。对于您的情况,它看起来像//*[contains(text(), 'folder name')]/ancestor::/div(可能需要更正,因为问题中没有提供确切的HTML片段)。