1

我正在使用 nokogiri 在 ruby​​ 中构建一个刮板,我注意到有时通过解析源创建的 dom 和浏览器解析源时创建的 dom 是不同的。

例如,浏览器添加 tbody 标签,如果文档格式不正确或 javascript 进行运行时更改,浏览器可以修改标签。

问题是我从浏览器 dom 获得了所需的元素路径(在此阶段使用元素检查器)但是当我通过解析源在 dom 中搜索该元素时,由于这些差异,没有找到任何东西。

是否有可能获得与浏览器相同的 dom,如果可以,如何获得?

4

1 回答 1

0

您可以使用浏览器并从呈现的源中获取 dom。有几个驱动程序,如 selenium、webkit-headless、poltergeist 等,可以驱动无头浏览器或真正的浏览器。

所有浏览器可能会呈现不同的版本,因为没有官方标准实现,所以您需要找到最适合您的版本。

于 2012-07-24T20:57:34.127 回答