求助:编写XPATH实现Google Sheets IMPORTXML获取指定汇率数值
解决Google Sheets IMPORTXML提取XE USD→AED汇率的问题
我帮你排查了下,你之前用的XPATH //div[@id='rates_detail_desc']/strong[2] 失效是因为XE的页面结构已经更新了,那个旧的rates_detail_desc元素ID现在不存在啦。
现在可以用更稳定的XPATH来定位目标汇率数值,直接基于页面里的测试属性来抓取,不容易因为网站样式更新而失效:
正确的Google Sheets公式
=IMPORTXML("https://www.xe.com/currencycharts/?from=USD&to=AED", "//span[@data-testid='mid-market-rate']")
为什么这个XPATH可行?
XE的页面里,实时中间市场汇率的数值被放在了带有data-testid='mid-market-rate'属性的<span>标签里,用这个属性定位比依赖类名或旧ID要可靠得多——网站更新UI样式时,这类测试标识一般不会轻易改动。
小技巧:自己定位XPATH的方法
如果之后页面又有变动,你可以自己动手找:
- 在Chrome浏览器里打开目标页面,右键点击要提取的汇率数值,选择「检查」
- 在弹出的Elements面板里,找到对应元素,右键它→「复制」→「复制XPath」(优先选择基于
data-testid这类属性的定位,稳定性更强)
内容的提问来源于stack exchange,提问作者Omid
相关产品推荐
相关产品推荐

