2013-04-11 1 views
1

Я использую 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; 
#... 

ответ

0

Firefox 15 представил значительное улучшение в использовании памяти, с помощью запрещая дополнения держать ссылки на объекты DOM после их родительского документа был разрушен. Это устраняет наиболее распространенную причину утечек памяти в надстройках и должно уменьшить потребление памяти для многих пользователей.

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