Chrome 控制台的妙用之调试 xpath

大家好,今天来分享一个可以在没有其他工具时快速验证 xpath 是否有效的小技巧。

xpath

xpath 写爬虫的小伙伴应该不陌生,那在调试 xpath 表达式的时候大家一般用什么工具呢?最近谷歌开始收紧拓展的权限了,之前常用的 XPath Helper 已经不能从谷歌商店下载了,不过上篇文章中写了解决方案,在这里

如果不使用 XPath Helper,应该如何验证 xpath 的有效性呢?其实 Chrome 自带了这个功能,可能大家都没怎么用过,下面来一起看一下。

image-20250313211257859

打开 Chrome 的控制台,输入 $x('//h2[@class="m-b-sm"]'),会发现打印出了一个数组,里面是获取到的所有的 h2 标签。是的,谷歌提供了 $x 函数,用于执行 xpath 表达式,基本上我们用到的语法它都是支持的。

如果想要获取所有的标题,也可以使用 text 函数获取节点的内容,会得到 text 对象,text 对象中的 data 属性就是获取到的内容。

image-20250313213603749

也可以使用 @href 来获取所有的链接,获取的结果是 href 对象,链接的内容在 value 属性中。

image-20250313213902277

因为 Chrome 的特殊性,获取的结果数据需要单独访问 value 属性或者 data 属性才能拿到,不过在正常编程的时候是不需要的,直接就是结果了。但是并不影响定位需要的标签,只要定位到了,拿到数据就很简单了,在代码中完全不用访问特定的属性。

image-20250313214030659

更多功能

Chrome 控制台不仅支持 xpath 的调试,连 css 选择器也是支持的,更多的示例可以查看谷歌的开发者文档

总结

Chrome 提供了 $x 函数方便了在没有调试工具的情况下可以直接使用 xpath 语法获取数据定位节点,如果在没有安装拓展的情况下或者临时测试一下还是比较好用的,感兴趣的小伙伴可以尝试一下。

本文章首发于个人博客 LLLibra146’s blog

本文作者:LLLibra146

更多文章请关注公众号 (LLLibra146):LLLibra146

版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!

本文链接
https://blog.d77.xyz/archives/dfacbd1c.html