我可以在以前的结果上执行XPath查询吗?
我有这个xpath:
我有这个xpath:
my @objDivRes = $objBrow->xpath('//div[@id="result"]/ol/div/li',all => 1);
但是当我在之前的结果上执行xpath函数时
my @objLink = $objDivRes[0]->MozRepl::RemoteObject::Methods::xpath('//div/h3/a');
我收到一个错误:
MozRepl::RemoteObject: TypeError: doc.evaluate is not a function at test.pl
有一个例子吗?谢谢
解决方法
只需使用’node’选项设置子树
$mech->xpath( $query,%options )
注意路径开头的点,这意味着上下文节点的下降
my @objDivRes = $objBrow->xpath('//div[@id="result"]/ol/div/li',all => 1); my @objLink = $objBrow->xpath('.//div/h3/a',node => $objDivRes[0]);