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

如何在Insomnia中提取HTML响应里name为code的input值?

问题:Insomnia提取HTML中特定input的value值失败

我需要用Insomnia从以下HTML中提取name属性为code的input元素的value值:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Return</title>
        <script>
window.onload=function() {
    var form = document.getElementById("redirect_form");
    form.submit();
}
        </script>
    <SCRIPT type="text/javascript">
/*<![CDATA[*/ 
document.cookie = "IV_JCT=%2Foauth; path=/;secure";
/*]]>*/ 
</SCRIPT>
</head>
    <body>
      <p>Return....</p>
      <form id="redirect_form" name="redirect_form" action="https://example.com/login/callbackmfe" method="POST">
          <input type="hidden" name="code" value="yDCKqoCgXDAEdeY2d01ln43gaHerP2" />
      <input type="hidden" name="iss" value="https://example.com" />
      <input type="hidden" name="state" value="testing" />
      
      </form>
    </body>
</html>

尝试了以下两个XPath表达式均失败:

  • /html/body/input[@name='code']/@value
  • (//input[@name='code'])[1]/@value

使用的Insomnia版本:
Version: Insomnia 2023.2.2
V8: 10.8.168.20-electron.0


原因及解决方案

第一个XPath的问题

你的第一个表达式路径错误:目标input元素并非直接位于body节点下,而是嵌套在form节点内部。正确的路径应该包含form层级:

/html/body/form/input[@name='code']/@value

第二个XPath的潜在问题

第二个表达式(//input[@name='code'])[1]/@value语法上是正确的,但可能因以下原因失效:

  1. Insomnia解析特性:部分版本的Insomnia对绝对索引语法支持有差异,可尝试简化为:
    //input[@name='code']/@value
    
    该表达式会直接匹配所有name为code的input元素并返回其value属性,在仅存在一个目标元素的场景下效果一致。
  2. 命名空间影响:HTML根节点带有xmlns命名空间,极端场景下解析器会严格遵循规则,可尝试忽略命名空间的表达式:
    //*[local-name()='input' and @name='code']/@value
    

验证方式

在Insomnia的Response > Body > XPath面板输入正确表达式,实时预览提取结果,确认是否成功获取目标值yDCKqoCgXDAEdeY2d01ln43gaHerP2。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:52:41