Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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

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
Perl WWW::Mechanize::Firefox xpath对上一个结果的影响_Perl_Xpath_Mechanize_Www Mechanize Firefox - Fatal编程技术网

Perl WWW::Mechanize::Firefox xpath对上一个结果的影响

Perl WWW::Mechanize::Firefox xpath对上一个结果的影响,perl,xpath,mechanize,www-mechanize-firefox,Perl,Xpath,Mechanize,Www Mechanize Firefox,我可以对以前的结果执行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

我可以对以前的结果执行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

有没有一个例子?谢谢

只需使用“节点”选项设置子树

注意路径开头的点,表示上下文节点的后代

my @objDivRes = $objBrow->xpath('//div[@id="result"]/ol/div/li', all => 1);

my @objLink = $objBrow->xpath('.//div/h3/a', node => $objDivRes[0]);

@ThisSuitesBlackNot,语法是有效的,尽管它很少在
$self->SUPER::method()
之外使用。看起来确实是在这种情况下。(基本上,这是为了避免注入
xpath
是许多其他类。)@ikegami好吧,我今天学到了一些东西。您是否尝试过强制使用
xpath
方法的返回类型,如中所述,例如
my@objDivRes=$objBrow->xpath('//div[@id=“result”]/ol/div/li',all=>1,type=>$objBrow->xpathResult('ORDERED_NODE_SNAPSHOT_TYPE');
假设只应在
HTMLdocument
节点上调用
MozRepl::RemoteObject::Methods::xpath
,因此可能是类型不匹配导致了您的问题。