Firefox调用eval_in_page然后出现死对象错误



我使用的是WWW::Mechanize::Firefox

当我第二次调用eval_in_page时,它因dead object错误而死亡。

我的代码

$mech->get($url);
$mech->eval_in_page('some_fun1(123)');
my @divs = $mech->xpath('//div[@class="sometext"]');
my @data = map { $_->{innerHTML} } @divs;
#...
$mech->eval_in_page('some_fun2(456)');  #dead object error...
my @divs_fun2 = $mech->xpath('//div[@class="sometext"]');
my @data_fun2 = map { $_->{innerHTML} } @divs_fun2;
#...

Firefox 15在内存使用方面进行了重大改进不允许附加组件在DOM对象之后保留对DOM对象的引用父文件已被销毁。这就消除了最常见的原因的内存泄漏,并应减少的内存消耗许多用户。

https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/

最新更新