Perl WWW::Mechanize::Firefox xpath对上一个结果的影响
我可以对以前的结果执行XPath查询吗? 我有一个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
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
,因此可能是类型不匹配导致了您的问题。