2

我试过这个和其他版本都没有用?有人可以帮忙吗?

=IMPORTXML("http://performance.morningstar.com/fund/ratings-risk.action?t=MWTRX", "//*[@id='div_ratings_risk']/table/tbody/tr[4]/td[3]/text()")
4

1 回答 1

3

正如对原始问题的评论中所解释的那样,最初具有 id #div_ratings_risk 的 div 元素最初是空的,并且不包含表格。因此,Google 电子表格无法解析不存在但需要先加载的内容。

在此处输入图像描述

您尝试从 Google 电子表格中获取数据的内容(表格)是使用 jQuery 从另一个 URL 动态加载的。您可以使用例如 chrome 开发人员工具和 XHR 请求过滤器来获取该 URL。

在此处输入图像描述

如果您直接从该 HTML 解析内容,它将起作用。因此,您需要将公式更改为该 URL 并像这样调整您的 XPath:

=IMPORTXML("http://performance.morningstar.com/ratrisk/RatingRisk/fund/rating-risk.action?&t=XNAS:MWTRX&region=usa&culture=en-US&cur=&ops=clear&s=0P00001G5L&ep=true&comparisonRemove=null&benchmarkSecId=&benchmarktype=", "//table/tbody/tr[4]/td[3]/text()")
于 2017-11-30T17:10:52.137 回答