WWW :: Mechanize :: Firefox调用eval_in_page然后死对象错误
问题描述:
我正在使用WWW::Mechanize::Firefox
。WWW :: Mechanize :: Firefox调用eval_in_page然后死对象错误
当我第二次拨打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;
#...
答
火狐15中的内存使用情况推出了重大改进,由 不允许附加组件,以保持其引用父 文件被破坏后,DOM对象。这消除了插件中内存泄漏的最常见原因 ,并且应该减少许多用户的内存消耗。
https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/