3
使用WWW :: Mechanize :: Firefox,我可以得到我訪問過的頁面的源代碼。但是,如果頁面包含框架,我會得到框架標記,而不是加載頁面的實際來源。機械化::框架似乎是我正在尋找。有沒有辦法一起使用它們?如何使用Perl的WWW :: Mechanize獲取框架源代碼?
使用WWW :: Mechanize :: Firefox,我可以得到我訪問過的頁面的源代碼。但是,如果頁面包含框架,我會得到框架標記,而不是加載頁面的實際來源。機械化::框架似乎是我正在尋找。有沒有辦法一起使用它們?如何使用Perl的WWW :: Mechanize獲取框架源代碼?
這可能是因爲您沒有加載幀內容。
$mech->follow_link(tag => "frame"); # open first frame in document
my $src = $mech->content;
爲了獲得在幀HTML源代碼,只是得到該幀通過->selector()
或->xpath()
然後用$frame->{innerHTML}
。
帶有Expect元素的Firebug將在JavaScript呈現所有內容後顯示頁面的源代碼,並將源代碼從框架和iframe物理放置到框架或iframe出現的主頁面的源代碼中。這就是我期待得到的。我希望能夠傳遞URL列表,然後讓WWW :: Mechanize :: Firefox加載頁面,完成所有JavaScript,然後返回最終的呈現源代碼。看起來這是不可能的。 出於某種原因,當我執行follow_link時,它會返回到同一頁面。但是,在第一次加載時,並不是所有的js都完成了。 – SJaguar13 2010-02-10 05:00:12