java - 如何处理很长的 XPATH?有没有其他选择?
问题描述
强调文本
//div[@class='preheader']//following-sibling::table/tbody/tr[7]/td/table[1]/tbody/tr/td/table/tbody/tr/td/table/ tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr/ td/表/tbody/tr/td
解决方案
没有更短的 XPath 表达式与这个表达式完全等价。
有一些较短的 XPath 可能会在某些文档上给出相同的结果,但是没有 XPath 会在每个可能的文档上给出相同的结果。
如果您只特别关注一个文档,那么类似的路径(//*)[872]
可能会为您提供正确的元素。但通常,使用 XPath 的全部意义在于找到一个在文档稍有不同时仍然有效的表达式。为此,有必要知道您要查询的文档类的结构;事实上,查询的意图。
推荐阅读
- docker - Docker 无法从现有存储库连接和拉取图像
- android - 在 Robolectric/Espresso 测试中避免睡觉
- java - 无法在java中读取资源
- javascript - 我想在 JavaScript 的克隆方法中更改标签值
- html - Container full rest height with scrollable content (Tailwind)
- c# - WPF XAML DesignTime Data - 在相关模型上设置属性值
- go - 切片类型的字段/变量的命名约定
- reactjs - 如何重定向到函数中的另一个组件?
- python - 转换为我的 CSV 时从重复的列字符串值中删除索引
- c++ - 为什么在 C++ cout<<8*7/2 中给出 28?