2014-09-05 49 views
1

我試圖計算一個搜索框錯誤,當我做一個網站上的測試數據批量輸入的次數。所以我試圖wget查詢結果,看看html結果頁面中是否有「Error」這個詞。我試圖在向網站提交查詢後下載生成的html網頁。我構建查詢並使用wget下載最終的網頁。查詢後Wget生成網頁的源代碼?

但是,只顯示html的主要內容,而不是結果,因爲它是通過使用外部JavaScript文件完成的。我想要的html只能在我的瀏覽器上右鍵單擊View Page Source時才能看到。有沒有一種非手動的方式來使用wget/curl來下載這樣的頁面源代碼,而不是點擊它們全部?

回答

1

javascript是一個程序,程序的結果在多項式時間內不確定(對於任意輸入)。因此,在沙箱環境中加載JavaScript更容易,然後針對測試用例執行它。

Wgetcurl不能這樣做:他們沒有任何功能來檢查/執行他們的提取結果。實際上,你需要的是一個瀏覽器,它可以高效地加載和測試腳本,就像shell中的wget/curl一樣。幸運的是,已經有這樣的事情:Selenium。它是一個firefox/chrome/explorer擴展,它可以運行這些瀏覽器的腳本實例,並且可以輕鬆地進行遠程控制。

如果你想在沒有GUI的情況下非交互式地運行這些瀏覽器,我建議使用一個假的(無硬件)X服務器。

Google適用於:硒和谷歌適用於:無頭X.祝您好運!

+0

您應該包含相關鏈接。 – 2014-09-05 21:58:36

+0

真誠。但我不能給他更好的鏈接,他可以很容易地找到谷歌。我認爲,我的大部分幫助是說,他需要尋找什麼 - 以及他的解釋,爲什麼這是不可能的。一些鏈接到我用谷歌找到的項目主頁?它真的需要/有用嗎? – 2014-09-05 22:16:25

+0

Selenium是一個知名且穩定的圖書館:鏈接到它的官方網站(正如我現在在您的答案中所做的那樣)是完全合適的,即使Google可能有更多可用資源。 – 2014-09-05 22:28:24