簡體   English   中英

我如何獲取JavaScript生成的HTML?

[英]How do i get html produced by javascript?

我知道標題不是很清楚,所以我舉一個例子:有站點A和站點B,假設它們是金融站點。 我只需要兩個站點的一頁(關於意大利比薩報價),就可以比較一些價值並知道何時何地以更高的價格出售意大利比薩。 站點A一切都非常容易,因為它不使用JavaScript,也不使用瀏覽器,而是單擊語音菜單“意大利>意大利披薩”,我找到了我需要的www.siteA.com/italy/italianPizzaValues網址。 相反,當我瀏覽網站B時,單擊“意大利”語音菜單將重定向到www.siteB.com/italy.do,然后單擊“意大利面”和“比薩餅”之類的意大利菜單語音不會更改網址,而只是調用javascript函數(通常非常復雜的)。 因此,對於站點A,我使用libcurl下載頁面www.siteA.com/italy/italianPizzaValues,然后對其進行解析。 我應該如何使用網站B來獲得相同的結果,並且知道網站B的意大利比薩價值?

尼爾·福特(Neal Ford)在The Productive Programmer中建議將用於您的非測試目的。 Selenium通過自動與Web瀏覽器進行交互來工作。 它是為測試目的而設計的,但也可以按照尼爾·福特的建議用於其他目的。 使用Selenium IDE ,您可以記錄與網頁的交互,引用HTML元素(包括由JavaScript渲染的元素),然后將生成的代碼導出到幾種高級編程語言(Java,.Net,PHP,Python,Perl)中的一種或Ruby)。

在嘗試模擬真實瀏覽器並執行JavaScript之前,請嘗試使用網絡監視器在真實瀏覽器中訪問相關頁面。 在“網絡”選項卡上打開了Firebug的Firefox是IE或Fiddler。

查看當您單擊“ Pizza”時發生的請求和響應,並查看是否有明顯的XMLHttpRequest似乎包含您要查找的數據。 如果是這樣,那么只發出一個請求就會更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM