Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google电子表格导入XML错误:“XPath查询未返回任何数据”_Xpath_Google Sheets - Fatal编程技术网

Google电子表格导入XML错误:“XPath查询未返回任何数据”

Google电子表格导入XML错误:“XPath查询未返回任何数据”,xpath,google-sheets,Xpath,Google Sheets,当我尝试运行此XPath查询时,仍然会出现此错误 //div[@iti='0'] 在这个链接上,从谷歌搜索航班 https://www.google.com/flights/#search;f=LGW;t=JFK;d=2014-05-22;r=2014-05-26 我得到这样的东西: =ImportXML("https://www.google.fr/flights/#search;f=jfk;t=lgw;d=2014-02-22;r=2014-02-26";"//div[@iti='0']

当我尝试运行此XPath查询时,仍然会出现此错误

//div[@iti='0']
在这个链接上,从谷歌搜索航班

https://www.google.com/flights/#search;f=LGW;t=JFK;d=2014-05-22;r=2014-05-26
我得到这样的东西:

=ImportXML("https://www.google.fr/flights/#search;f=jfk;t=lgw;d=2014-02-22;r=2014-02-26";"//div[@iti='0']")
我验证了XPath是否正确,我使用XPath helper得到了想要的答案,想要的答案是与所选第一个航班相关的数据

我想这是一个语法问题,但我或多或少尝试了所有的小写/大写组合,标点符号替换;,'我尝试将URI和存储在单元格中的XPath查询链接起来,但没有任何效果

任何帮助都将不胜感激。

很抱歉,您将无法轻松解析谷歌结果页面。函数抛出错误的原因是,您在浏览器中看到的页面内容是由javascript生成的,而Google电子表格不执行js

您的ImportXML具有正确的语法,它不会返回任何内容,因为您要查找的节点不在那里

如果您希望在电子表格中显示这些结果,则必须找到其他来源。例如,一些库已经解析了常用的结果页,如果它仍然有效,但我怀疑为您的特殊情况找到一个结果页是否容易。

对不起,您将无法轻松解析Google结果页。函数抛出错误的原因是,您在浏览器中看到的页面内容是由javascript生成的,而Google电子表格不执行js

您的ImportXML具有正确的语法,它不会返回任何内容,因为您要查找的节点不在那里


如果您希望在电子表格中显示这些结果,则必须找到其他来源。例如,一些库已经解析了通常的结果页,如果它仍然有效,但我怀疑为您的特殊情况找到一个结果页是否容易。

事实上,可能是新的google表单上的错误,或者它们改变了函数的工作方式。我已经激活了我的,当我尝试使用ImportXML时,它根本不起作用。因为我这里有一些旧的床单在旧的机械装置上,它们仍然正常工作。如果我将脚本从旧脚本复制粘贴到新脚本,它根本不会得到任何数据

这里有一个例子:

=ImportXML("http://www.nytimes.com/pages/todayspaper/index.html";"//div[@class='columnGroup first']//h3")
如果我在旧机制上运行这个,它工作得很好,但是如果我在新机制上运行相同的,首先它将交换我的;对于,然后它将带来一个N/a,并警告错误:无法解析导入的XML内容

2015年5月5日编辑:
我很高兴地说,我今天在新的电子表格上再次测试了这个功能,他们已经修复了它。我每两个月检查一次,现在他们终于解决了这个问题。我在上面添加的示例现在返回了信息。

事实上,可能是新的google表单上有一个bug,或者它们改变了函数的工作方式。我已经激活了我的,当我尝试使用ImportXML时,它根本不起作用。因为我这里有一些旧的床单在旧的机械装置上,它们仍然正常工作。如果我将脚本从旧脚本复制粘贴到新脚本,它根本不会得到任何数据

这里有一个例子:

=ImportXML("http://www.nytimes.com/pages/todayspaper/index.html";"//div[@class='columnGroup first']//h3")
如果我在旧机制上运行这个,它工作得很好,但是如果我在新机制上运行相同的,首先它将交换我的;对于,然后它将带来一个N/a,并警告错误:无法解析导入的XML内容

2015年5月5日编辑: 我很高兴地说,我今天在新的电子表格上再次测试了这个功能,他们已经修复了它。我每两个月检查一次,现在他们终于解决了这个问题。我上面添加的示例现在返回信息。

这给出了答案,但并不完全清楚

ImportXML不加载Javascript。当您在Google结果上构建ImportXML查询时,请确保您针对已关闭Javascript的页面版本进行测试。您可以使用ChromeDevTools来实现这一点

但我同意ImportXML是易变的、独特的,并且通常会引起愤怒

这给出了答案,但并不完全清楚

ImportXML不加载Javascript。当您在Google结果上构建ImportXML查询时,请确保您针对已关闭Javascript的页面版本进行测试。您可以使用ChromeDevTools来实现这一点


但我同意ImportXML是易变的、独特的,并且通常会引起愤怒

谷歌基本上在任何地方都使用了大量javascript,而且它显然可以显著修改基本HTML。您使用什么来检索页面?您是否检查了HTML在您尝试从中应用xpath的任何上下文中是否符合预期?顺便说一句,这个上下文语言/工具是什么…?好吧,我尝试了几次搜索,-iti='0'-是识别这个项目的最好方法。不管怎样,我也尝试了kayak的类似查询,我得到了同样的问题。我真的认为问题在于ImportXML的语法。关于上下文,我正在使用谷歌电子表格,我想
d旅行目的地/地点的最佳组合。我的意思是,您确定您在电子表格中收到的HTML与您用于选择iti='0'作为标准的HTML相同吗。在js执行和iframe检索之后,chrome的输出可能与电子表格接收到的不同。导入电子表格后,您是否检查完整页面是否符合预期?ImportXML的语法在其他示例中似乎很有用。好吧,我明白你的意思,我正在研究从电子表格中看到的xml,它实际上非常不同,让我们看看我是否找到了什么。是的,我自己研究了一下,你的网页主体似乎几乎是空的,所有内容都是通过浏览器中的javascript生成的。顺便说一句,如果您正在签入chrome,F12将显示解释的HTML,并按Ctrl+U键显示原始代码。谷歌不喜欢被解析。如果你发现了其他问题,请告诉我,但这可能是你的问题。谷歌基本上在任何地方都使用大量javascript,显然它可以显著修改基本HTML。您使用什么来检索页面?您是否检查了HTML在您尝试从中应用xpath的任何上下文中是否符合预期?顺便说一句,这个上下文语言/工具是什么…?好吧,我尝试了几次搜索,-iti='0'-是识别这个项目的最好方法。不管怎样,我也尝试了kayak的类似查询,我得到了同样的问题。我真的认为问题在于ImportXML的语法。关于上下文,我正在使用谷歌电子表格,我想找到旅行目的地/地点的最佳组合。我的意思是,你确定你在电子表格中收到的HTML与你选择iti='0'作为标准的HTML相同吗。在js执行和iframe检索之后,chrome的输出可能与电子表格接收到的不同。导入电子表格后,您是否检查完整页面是否符合预期?ImportXML的语法在其他示例中似乎很有用。好吧,我明白你的意思,我正在研究从电子表格中看到的xml,它实际上非常不同,让我们看看我是否找到了什么。是的,我自己研究了一下,你的网页主体似乎几乎是空的,所有内容都是通过浏览器中的javascript生成的。顺便说一句,如果您正在签入chrome,F12将显示解释的HTML,并按Ctrl+U键显示原始代码。谷歌不喜欢被解析。如果您发现其他问题,请告诉我,但这可能是您的问题。