Google sheets GoogleSheetsImportXML返回空值
我正试图用谷歌表单来搜索我玩的游戏的材料成本。有两张桌子;右上角下拉列表中的“常用材料”和“稀有材料”。当价格更新时,我尝试提取两者的值。我复制了完整的Xpath,并在工作表的空单元格中使用了下面的函数Google sheets GoogleSheetsImportXML返回空值,google-sheets,google-sheets-formula,google-sheets-importxml,Google Sheets,Google Sheets Formula,Google Sheets Importxml,我正试图用谷歌表单来搜索我玩的游戏的材料成本。有两张桌子;右上角下拉列表中的“常用材料”和“稀有材料”。当价格更新时,我尝试提取两者的值。我复制了完整的Xpath,并在工作表的空单元格中使用了下面的函数 =importxml("https://kamadan.gwtoolbox.com/","/html/body/div[2]/div[1]/div/div[2]/table/tbody") 这将返回一个#N/a错误,表示返回的是空值 我还尝试了使用常规xpath =importxml("htt
=importxml("https://kamadan.gwtoolbox.com/","/html/body/div[2]/div[1]/div/div[2]/table/tbody")
这将返回一个#N/a错误,表示返回的是空值
我还尝试了使用常规xpath
=importxml("https://kamadan.gwtoolbox.com/","//*[@id='trader-overlay-items']")
它只返回一个空白单元格。我还尝试了两种方法,通过chrome在祖先和孩子身上使用inspect函数,他们返回上述两个错误中的任何一个
对不起,如果这真的很简单。我对XPath或html一点也不熟悉。我主要是在excel中涉猎VBA。回答:
IMPORTXML
无法检索由脚本填充的数据,因此无法使用此公式从此表检索数据
更多信息:
如前所述,您可以尝试使用以下方法直接从表中获取数据:
=IMPORTXML("https://kamadan.gwtoolbox.com/","//table[@id='trader-overlay-items']")
只得到一个空白单元格
我更进一步,通过在页面上的HTML
元素上按步骤调用IMPORTXML
,尝试对其进行反向工程:
=IMPORTXML("https://kamadan.gwtoolbox.com/","html")
=IMPORTXML("https://kamadan.gwtoolbox.com/","html/body")
=IMPORTXML("https://kamadan.gwtoolbox.com/","html/body/div[1]")
=IMPORTXML("https://kamadan.gwtoolbox.com/","html/body/div[1]/div[0]")
...
html/body/div[1]/div[0]
是第一条不提供导入内容的路径,我们可以从导入html/body
中看到,整个正文不包含信息,只包含信息的模板-在单元格B1
中,我们提到了“常用材料”和“稀有材料”:
在D1
中,我们开始看到未被IMPORTXML
调用的JavaScript和JSON对象,因此无法检索其结果:
如您所见,如果您在站点上禁用JavaScript,几乎没有任何内容实际呈现,因此无法使用IMPORTXML
:
我知道这通常是个坏消息,但我希望这对你有帮助
参考资料: