You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman如何从响应的HTML description list中提取指定值

问题原因

你原来的代码$('dt').text()会选中页面内所有<dt>标签,直接调用text()会把所有匹配元素的文本拼接在一起,所以返回了全部dt的内容。

解决方案

因为你的<dd>和<dt>是成对依次相邻排列的,不需要匹配文本内容就可以通过节点关系定位:

方案1:按索引直接取值(适用于键值对顺序固定的场景)

如果你要取第N组的对应值,直接通过dd的索引定位,再取它下一个相邻的dt即可,完全不依赖标签内的文本内容:

const $ = cheerio.load(pm.response.text())
// eq(1)对应第二组键值对(索引从0开始计数,0是第一组Fruit),可根据你需要的组调整索引值
const targetValue = $('dd').eq(1).next('dt').text().trim()
console.log('目标值', targetValue)

方案2:先转成键值对象再取用(灵活性更高)

如果后续需要根据键名取值,可以先把所有dl内的键值对批量转成对象存储:

const $ = cheerio.load(pm.response.text())
const dlMap = {}
$('dd').each((_, el) => {
  const key = $(el).text().trim()
  const value = $(el).next('dt').text().trim()
  dlMap[key] = value
})
// 要取对应值直接从对象拿即可
console.log('Vegetable对应值', dlMap['Vegetable'])

内容的提问来源于stack exchange,提问作者CDS09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:45:05