selenium-webdriver - 试图找到祖先的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']
解决方案
//*[@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']
推荐阅读
- javascript - 按两个项目过滤 react-instantsearch
- xcode - IBUIColor.m 中的断言失败 - Xamarin.iOS
- java - JPQL 查询从一对一关系中选择实体,其中它的相对具有匹配特定条件的字段
- javascript - 删除类不会停止 IE11 中的关键帧动画
- python - 从现有行生成新的 Dataframe 列
- django - 我想问一下Django代码块中的错误
- python - 给定字符串和(列表)单词,返回包含字符串的单词(最优算法)
- netty - 使用 localstack Kinesis 运行 KCL 使用者时出错
- python - 获取long的最后n位
- python - Shiboken2 qobject.h:46:10:致命:找不到“QtCore/qobjectdefs.h”文件