2010-02-09 3 views
3

Использование WWW :: Mechanize :: Firefox, я могу получить источник страницы, которую я посетил. Однако, если страница содержит фрейм, я получаю тег фрейма, а не фактический источник загружаемой страницы. Mechanize :: Frames - это то, что я ищу. Есть ли способ использовать их вместе?Как я могу получить источник кадра с помощью Perl WWW :: Mechanize?

ответ

4

Возможно, это связано с тем, что вы не загружаете содержимое рамки.

$mech->follow_link(tag => "frame"); # open first frame in document 
my $src = $mech->content; 
+0

Firebug с Expect Element покажет источник страницы после того, как javascript отобразит все и физически поместит исходный код из фреймов и фреймов в исходный код с главной страницы, где появился фрейм или iframe. Это то, что я ищу. Я хочу иметь возможность передавать список URL-адресов, а затем WWW :: Mechanize :: Firefox загружать страницу, делать все javascript, а затем возвращать окончательный, отображаемый источник. Похоже, это невозможно. По какой-то причине, когда я делаю follow_link, он возвращается на ту же страницу. Однако при первом загрузке не все js закончились. – SJaguar13

1

Чтобы получить у источника кадра HTML, просто получить этот кадр через ->selector() или ->xpath(), а затем использовать $frame->{innerHTML}.