Dom 要与importXML一起使用的XPath表达式 从网站上,我试图导入字段“范围”和“52周”,中间的其他组。我看过XPath,对此感到非常困惑

Dom 要与importXML一起使用的XPath表达式 从网站上,我试图导入字段“范围”和“52周”,中间的其他组。我看过XPath,对此感到非常困惑,dom,xpath,google-sheets,google-sheets-formula,google-sheets-importxml,Dom,Xpath,Google Sheets,Google Sheets Formula,Google Sheets Importxml,在单元格A1中,我有https://www.google.co.uk/finance?cid=704531 在B1号牢房我有 =importxml(A1,//*[@id="market-data-div"]/div[2]/div[1]/table[1]/tbody/tr[4]/td[1]) 但结果是一个错误 这个HTML结构的正确XPath表达式是什么?Dom和 似乎是您在Firebug或类似的开发工具中创建了XPath表达式。虽然HTML不需要标记,但DOM需要;这些开发工具在DOM上工作,

在单元格A1中,我有
https://www.google.co.uk/finance?cid=704531

在B1号牢房我有

=importxml(A1,//*[@id="market-data-div"]/div[2]/div[1]/table[1]/tbody/tr[4]/td[1])
但结果是一个错误

这个HTML结构的正确XPath表达式是什么?

Dom和
似乎是您在Firebug或类似的开发工具中创建了XPath表达式。虽然HTML不需要
标记,但DOM需要;这些开发工具在DOM上工作,因此将表行包装在这样的元素中。当查看页面源代码(通过
wget
或其他工具获取,如果需要)和Firebug提供的结构时,您可以很容易地看到差异

只需在表达式中省略
/tbody
轴步骤:

/*[@id='market-data-div']/div[2]/div[1]/table[1]/tr[4]/td[1]
无论如何,我更愿意按照描述获取单元格,这在措辞上的更改方面稍微弱一点,但在结构上的更改方面更稳健:

//*[@id='market-data-div']///tr[td='Vol/Avg.]/td[2]
引用这句话 第二个问题是必须用双引号引用XPath表达式,因此,例如使用:

=importxml(A1,“//*[@id='market-data-div']///tr[td='Vol/Avg.]/td[2]”)
Dom和
似乎是您在Firebug或类似的开发工具中创建了XPath表达式。虽然HTML不需要
标记,但DOM需要;这些开发工具在DOM上工作,因此将表行包装在这样的元素中。当查看页面源代码(通过
wget
或其他工具获取,如果需要)和Firebug提供的结构时,您可以很容易地看到差异

只需在表达式中省略
/tbody
轴步骤:

/*[@id='market-data-div']/div[2]/div[1]/table[1]/tr[4]/td[1]
无论如何,我更愿意按照描述获取单元格,这在措辞上的更改方面稍微弱一点,但在结构上的更改方面更稳健:

//*[@id='market-data-div']///tr[td='Vol/Avg.]/td[2]
引用这句话 第二个问题是必须用双引号引用XPath表达式,因此,例如使用:

=importxml(A1,“//*[@id='market-data-div']///tr[td='Vol/Avg.]/td[2]”)

欢迎使用Stackoverflow!请多注意格式,不要使用所有的大写字母,这会使你的问题难以阅读和理解,并减少有人回答的机会。有一些关于如何使用降价设置帖子格式的信息。在提出要求之前先尝试一下自己,这是值得称赞的!可能重复Stackoverflow上的欢迎!请多注意格式,不要使用所有的大写字母,这会使你的问题难以阅读和理解,并减少有人回答的机会。有一些关于如何使用降价设置帖子格式的信息。在提出要求之前先尝试一下自己,这是值得称赞的!可能的副本我已复制了您的“Vol/Avg.”建议并将其附加到=importxml(A1,因此我最终得到了=importxml(A1,//*[@id=“market data div”]///tr[td=“Vol/Avg.”]]/td[2])这是有道理的,但我在B1Oh中遇到了一个解析错误,我太确定tbody是问题所在,所以我实际上从未研究过如何将其嵌入到电子表格中。必须对表达式进行双引号,因此我在XPath中切换为单引号。请参阅我的更新答案。非常感谢您帮助我解决此问题。我在cel B1中得到了一个结果,但some其他文本也加入其中。我本来希望看到“0.00/10.47M”,但我有“367913.00/10.47M”,不确定“367913”来自何处……除非它是一个更准确的数字……请问如果我想更改公式以合并其他字段,我如何更改您的公式以接受其他字段,如“共享”我明白了,我发现了一个更容易浏览的站点。这个站点有类似的信息,但结构更简单。我使用Chromes developer工具找到了信息所在的位置,但现在需要了解xpath部分。xpath是/html/body/div[7]/div[3]/div/div/div[2]/div[2]/table[1]/tbody/tr[1]/t同样,删除Chrome插入的
/tbody
轴步骤。我复制了您的“Vol/Avg.”建议并将其附加到=importxml(A1,因此我最终得到了=importxml(A1,//*[@id=“market data div”]///tr[td=“Vol/Avg.”]/td[2])这是有道理的,但我在B1Oh中遇到了一个解析错误,我太确定tbody是问题所在,所以我实际上从未研究过如何将其嵌入到电子表格中。必须对表达式进行双引号,因此我在XPath中切换为单引号。请参阅我的更新答案。非常感谢您帮助我解决此问题。我在cel B1中得到了一个结果,但some其他文本也加入其中。我本来希望看到“0.00/10.47M”,但我有“367913.00/10.47M”,不确定“367913”来自何处……除非它是一个更准确的数字……请问如果我想更改公式以合并其他字段,我如何更改您的公式以接受其他字段,如“共享”我明白了,我发现了一个更容易浏览的站点。这个站点有类似的信息,但结构更简单。我使用Chromes developer工具找到了信息所在的位置,但现在需要了解xpath部分。xpath是/html/body/div[7]/div[3]/div/div/div[2]/div[2]/table[1]/tbody/tr[1]/t同样,拆下Chrome插入的
/t车身
轴台阶。