xpath - importXML 中的 xpath://comment() 与 //*/comment()
问题描述
为什么我在 importXML 中使用 xpath 得到不同的结果
//comment() vs //*/comment()
问题可能很愚蠢,但我根本没有得到任何结果(#N/A)//comment()
。
这可能是一般情况下的问题:
//node vs //*/node
解决方案
由于没有其他人想出一个好的答案,我添加了我的:
我怀疑问题源于相关页面的 AJAX 特性IMPORTXML()
以及Google 表格上的方法的运行方式。
使用 XPath 查询文档根节点和选择节点/
给了我们一种直觉。这样做会返回一个充满 JavaScript 的单元格,但不会返回页面的实际 (HTML) 源代码。使用//
导致描述的加载错误。看起来它只搜索包含 JS 的这个单元格 - 因此无法使用 XPath 查询找到评论(或任何其他子节点)//comment()
。
但是,如果我们查询//*
电子表格上的大约 100 多个单元格,其中填充了各种页面元素和源代码片段(这可能是由加载到页面中的单独源文件中的某些 EOL 或换行符引起的)。因此,通过这种方式加载页面的所有部分,包括评论。因此,现在我们可以使用//*/comment()
您发现的方式加载它们(也/*//comment()
适用于我)。
这种行为没有意义(当然也不符合 XPath 规范),但它似乎是 GSIMPORTXML
方法处理问题的方式。
推荐阅读
- python - Matplotlib - 为 xticklabels 打印每 5 个字符串
- python - 如何用另一条线替换一条线?
- python-3.x - Twilio 使用 Twisted Web 服务器拒绝 LetsEncrypt Cert 并出现“证书无效”错误 11237
- scala - 基于嵌套结构/数组的过滤
- abap - CDS 与包含 SELECT 的 where 条件的关联
- php - 从数组中获取所有数字组合返回内存不足错误
- django - Django 表单获取请求用户
- javascript - 如何 JSON.parse 忽略对象后的后缀
- python - 尝试通过 Python 笔记本将数据插入 MongoDB 时出现属性 ID 错误
- java - 在集合上使用流后,java中有什么方法可以返回相同的集合类型?