Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms XPath表达式:提取隐藏的表单字段_Forms_Xpath_Jmeter_Hidden - Fatal编程技术网

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

Forms XPath表达式:提取隐藏的表单字段,forms,xpath,jmeter,hidden,Forms,Xpath,Jmeter,Hidden,我正在使用JMeter,并试图从HTTP响应中提取xpath值。 该值是进一步操作所必需的,必须保存在变量中 我想要字段“version”的值,在响应中它如下所示: <form id="myForm" data-dojo-type="dijit/form/Form"> <input type="hidden" name="someId" value="163"/> <input type="hidden" name="version" id="ver

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

我想要字段“version”的值,在响应中它如下所示:

<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"/>
//form[@name='myForm']//select[@name='version']/@value 
这个查询没有返回任何值,我无法找到正确的语法。
我不确定该语句是错误的还是其他原因。

让我们检查一下您的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.
您应该能够从这个细分中看到您的表达式存在的问题

  • “表单”应使用
    id
    而不是
    name
  • “输入”之前不应使用双斜杠
  • 仅使用
    名称
    作为输入就足够了
  • (可选)如果您的响应与XHTML不兼容,您可能需要选中
    使用Tidy

    综上所述,XPath表达式应该如下所示:

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

    参考资料:


  • 我将表达式更改为://form[@name='myForm']//input[@type='hidden'][@id='version'][@name='version']]/@value仍然不起作用(标识符也较少)
    //form[@id='myForm']/input[@name='version']/@value