2012-07-24 34 views
1

我使用nokogiri在ruby中構建了一個刮板,我注意到有時通過解析源代碼和dom創建的dom在瀏覽器解析源時是不同的。處理html源代碼vs瀏覽器dom

例如,瀏覽器添加tbody標籤,瀏覽器可以修改標籤,如果文檔格式不正確或者javascript使運行時更改。

問題是我從瀏覽器dom(在此階段使用元素檢查器)獲取所需的元素路徑,但是當我在dom中通過解析源代碼搜索該元素時,由於這些差異而找不到任何東西。

是否有可能獲得與瀏覽器相同的dom,如果是這樣,如何?

回答

0

您可以使用瀏覽器並從呈現的源代碼獲取dom。有幾個像硒,webkit-headless,poltergeist等驅動程序可以驅動無頭或真正的瀏覽器。

所有的瀏覽器可能會渲染不同的版本,因爲沒有官方的標準實現,所以你需要找到最適合你的瀏覽器。