【发布时间】:2021-02-02 21:08:34
【问题描述】:
我正在使用 Selenium,我想替换 xpath 以获取此列表
到目前为止,这个 xpath 有效,但我认为它并不复杂。我认为对于 CSSselector 或更短的 xpath 进行更好的更改,但我无法得到相同的结果。
谢谢
【问题讨论】:
-
请将 html 添加为文本而不是屏幕截图
标签: selenium xpath css-selectors
我正在使用 Selenium,我想替换 xpath 以获取此列表
到目前为止,这个 xpath 有效,但我认为它并不复杂。我认为对于 CSSselector 或更短的 xpath 进行更好的更改,但我无法得到相同的结果。
谢谢
【问题讨论】:
标签: selenium xpath css-selectors
xpath 下可以工作
"//div[@id='igTreeProjectTree']//li[starts-with(@data-path, '0_0_')]"
因为我认为数据路径在所有元素中都是唯一的
【讨论】:
试试这个 CSS 选择器:
'#igTreeProjectTree li.ui-igtree-node-nochildren'
【讨论】:
对于xpath:
//*[@id='igTreeProjectTree']/ul/li/ul/li/ul/li
等效的css-selectors 将是:
#igTreeProjectTree > ul > li > ul > li > ul > li
更规范的Locator Strategy 是:
#igTreeProjectTree ul[data-depth='2'] > li.ui-igtree-node-nochildren[data-path='0_0_0']
【讨论】: