2014-10-26 44 views
0

我不明白如何從一個文件訪問HTML表格。如何使用WWW ::機械化從文檔中得到一個HTML表:: Firefox的

我玩這個鏈接: Scotia Bank Jobs

的想法是點擊「下一頁」按鈕數次,並收集所有的小HTML表格爲一體。

當我打開與WWW::Mechanize::Firefox的聯繫,我可以得到整個文檔(和第一頁HTML表格)與

my $cont= $mech->content(format => 'html'); 

後,我的「下一頁」按鈕,點擊與

my $id="search_result_next_page_link"; 
$mech->click({ xpath => qq{//*[\@id="$id"]}, synchronize => 0 }); 

我可以單擊該按鈕多次表被裏面的文件改變了,但我不能使用任何$mech->content更多,因爲URL是相同的,內容沒有改變。

我嘗試類似:

my $tt= $mech->xpath('/html/body/form/div[4]/div/main/div/div[3]/section/div/div/table/text()'); 
print $tt; 

但它打印 「0」。

我有一種感覺,我非常接近,任何想法如何每次點擊後能得到HTML表????

+0

你可以直接作出這樣的點擊按鈕的請求被複制 - 如果你在瀏覽器的Inspector面板看看他們,他們是簡單的'和遞增頁碼GET'請求和返回的數據是HTML表格。 – 2014-10-26 22:52:47

+0

@ialarmedalien我期待在檢查器中的按鈕,所有我看到的是'的JavaScript:尋呼($網址,「2」,「真」,「假」)',其中$ url是頁面的URL相同。 '2'是這裏的下一個頁碼。但是,GET請求的URL放在哪裏?你能否更具體一些? – Andrey 2014-10-27 12:02:43

+0

閱讀文檔,我可以看到很容易獲得頁面的PNG屏幕截圖,但是如何獲取表格的HTML? – Andrey 2014-10-28 17:18:48

回答

0

最後....我不得不打擾WWW::Mechanize::Firefox模塊的作者,他提供的解決方案是如何得到這個表的HTML代碼。腳本應該是這樣的:

@tt= $mech->selector('.tableSearchResults'); $HTMLtable= $tt[0]->{innerHTML};

不要忘了,你需要在每次點擊後等待(或創建一個循環,等待出現的元素)。