Google 电子表格使用 importxml 获取文本

Google Spreadsheet getting text with importxml

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

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

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

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

如果您直接从 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()")