求问一个 xpath 的技巧,查了半天没搞懂

2018-12-25 00:48:07 +08:00
 jakeyfly

假调一个页面上某个 table 下面(定信这个 table 不在这个问题讨论内)有十行 tr,每个 tr 中都有五个 td。有 N 个 tr 中的第五个 td 的 class 属性是=‘ 1 ’

如果筛选出第五个 td 的 class=1 的 tr 呢

感觉 好复杂

1709 次点击
所在节点    问与答
7 条回复
Phant0m
2018-12-25 02:26:40 +08:00
打开 Chrome 控制台 选择元素 鼠标点到你想获取的元素 右键 copy xpath
saran
2018-12-25 02:30:10 +08:00
td[5]/tr
class 能使用 int ?
imn1
2018-12-25 08:33:57 +08:00
//td[5][@class='1']/..

思路:先找到能定位的元素,「/..」就是其父级
定位元素优先使用带 id 的,就是从最接近的带 id 的那个开始

推荐:google 「 css xpath cheatsheet 」,能找到一个或两个 pdf (国外站好多地方有),单页,就是一张大表格,很方便查找
如果学过一遍 xpath,还不熟悉,就多用这个 cheatsheet 查,熟能生巧
levelyu
2018-12-25 09:21:28 +08:00
axes 大法好
Les1ie
2018-12-25 09:30:59 +08:00
如果不会写 xpath 的话,可以像 #1 那样,ctrl+shift+c 找到目标元素,然后右键 Copy XPath,看一下表达式就知道在哪里传索引了
kernelG
2018-12-25 10:23:15 +08:00
打开浏览器的开发者工具,直接选定节点,然后 copy xpath 就可以了
GentleSadness
2018-12-25 15:08:13 +08:00
牛逼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/520657

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX