XPath表达式:提取隐藏的表单字段

时间:2016-02-18 17:40:21

标签: forms xpath jmeter hidden

我正在使用JMeter并尝试从HTTP响应中使用xpath提取值。 该值对于进一步操作是必需的,并且必须保存在变量中。

我想要字段“version”的值,在Response中看起来像这样:

<form id="myForm" data-dojo-type="dijit/form/Form">
    <input type="hidden" name="someId" value="163"/>
    <input type="hidden" name="version" id="version" value="1"/>

xpath Extractor中的查询如下所示:

//form[@name='myForm']//select[@name='version']/@value 

此查询不返回任何值,我找不到正确的语法。 我不确定陈述是错还是其他。

2 个答案:

答案 0 :(得分:0)

让我们检查你的XPath表达式。

//form             # Give me any <form> element in the document.
[@name='myForm']   # whose name attribute is myForm
//select           # Give me any <select> element under <form>
[@name='version']  # whose name attibute is version.
/@value            # return the value attribute from the <select> element.

这意味着您的XPath表达式与此元素匹配并返回值1

<form name="myForm">
   <select name="version" value="1"/>
</form>

您应该能够从此细分中看到表达式的问题。

答案 1 :(得分:0)

  1. 您应该使用id而不是name作为“表单”
  2. 您不应在“input”
  3. 之前使用双斜杠
  4. 仅使用name作为输入
  5. 就足够了
  6. (可选)如果您的回复不符合XHTML,则可能需要检查Use Tidy

    总结以上所有内容,XPath表达式应如下所示:

    //form[@id='myForm']/input[@name='version']/@value
    

    演示:

    XPath Extractor Demo

    参考文献: