首页 > 解决方案 > 试图找到祖先的xpath

问题描述

我正在尝试为下面的屏幕截图编写一个 xpath。我试过了

("//*[@id='subjects_grid']/tbody/tr[5]/td[2]/label[@class='switch']/ancestor::td/a[@data-subjectid='425']")

但控制台在 td 后无法识别。我也试过

("//tr[@class='subject-status-off']/td[1]/a[@data-subjectid='425']/td/label")

但控制台没有指向元素之后a[@data-subjectid='425']

在此处输入图像描述

标签: selenium-webdriverxpath

解决方案


//*[@id='subjects_grid']/tbody/tr[5]/td[2]/label[@class='switch']/ancestor::td/a[@data-subjectid='425']")

在上面的定位器中,您将从父 td[2] 回到自身,然后尝试找到子 'a' td[2] 中没有子

//*[@id='subjects_grid']/tbody/tr[5]/td[2]/label[@class='switch']/ancestor::tr/td/a[@data-subjectid='425']"

试试上面的定位器,在这里它找到标签并转到父'tr'adn然后导航td/a

请注意,如果 data-subjectid 是唯一的,您可以使用

//a[@data-subjectid='425']

推荐阅读