下面是我要抓取的表单元素:
<input id="form-c989bfc426f882cb8664a471c5e485e2" type="hidden" value="form-c989bfc426f882cb8664a471c5e485e2" name="form_build_id">
我的目标是获得价值form-c989bfc426f882cb8664a471c5e485e2
我使用下面的常用功能:
$x = my_curl_function($url); // the page where form has the hidden fields
$y = my_xpath_function($x);
$z = $y->query("//input[starts-with(@id, 'form-')]");
我知道上面的函数工作正常,因为$z
的长度不为零。如果我转储了$z
的值,它会给我如下结果:
object(DOMNodeList)#5 (1) { ["length"]=> int(3) }
主要问题是我无法像往常一样回应价值:
if ($z->length > 0) {
for ($i = 0; $i < $z->length; $i++) {
echo $z->item($i)->nodeValue; // should echo the results of $z
}
}
可能是什么问题?是因为它是一个隐藏的领域?如果是这样的话,为什么它在转储它时有价值。它只是没有显示,我很困惑。
非常感谢任何帮助 - 谢谢。