Mechanize :: Firefox застревает - PullRequest
       16

Mechanize :: Firefox застревает

1 голос
/ 16 октября 2010

Я использую WWW :: Mechanize :: Firefox для сканирования страниц, которые загружают JavaScript после их загрузки.Мой код, касающийся этой проблемы:

my ($firemech) = WWW::Mechanize::Firefox->new(tab => 'current', );
$firemech->get($url);
die "Cannot connect to $url\n" if !$firemech->success();

print "I'm connected!\n";

my ($retries) = 10;
while ($retries-- and ! $firemech->is_visible( xpath => '//*[@class="areaMapC"]' )) {
    sleep 1;
}
die "Timeout" unless $retries;

my ($content) = $firemech->content();

Для первой страницы все идет хорошо, она загружает страницу и распознает класс, который загружается позже.Затем он корректно переходит на вторую страницу (я вижу, что Firefox меняет его), но он никогда не доходит до «Я подключен!»print.

Я проверил URL-адрес и обнаружил, что нужный класс существует, код одинаков для обеих страниц (за исключением некоторых идентификаторов, которые я хочу извлечь).Я действительно понятия не имею, что происходит не так.

Страница такого рода ЗДЕСЬ .

1 Ответ

3 голосов
/ 18 октября 2010

Я решил это, просто используя

my ($firemech) = WWW::Mechanize::Firefox->new();

Вместо того, что я использовал раньше. Он по-прежнему хранит содержимое на одной вкладке, поэтому он идеально соответствует моим потребностям.

...