我使用的是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;
#...
https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/Firefox 15在内存使用方面进行了重大改进不允许附加组件在DOM对象之后保留对DOM对象的引用父文件已被销毁。这就消除了最常见的原因的内存泄漏,并应减少的内存消耗许多用户。