对于我的任务,我需要分析网页的视觉结构。我通过 PyQt 使用 QtWebkit,因为它是一个易于使用的 Webkit 实现,并且在所有发行版上都可以轻松使用。
QtWebkit 提供了具有几何属性的 QWebElement 对象,我可以使用它来获取每个 DOM 节点的位置和尺寸。但是,我还需要从返回的几何图形中减去边距、边框和填充。
我正在使用 QWebElement 的 styleProperty() 方法来获取边框和边距属性:
documentElement.styleProperty('border-bottom', QWebElement.ComputedStyle)
但它返回的空字符串表示此处缺少样式方法描述。请帮助我如何获得边框、边距和填充,以便我可以从 geometry() 方法返回的几何图形中减去它们。
更新 1:碰巧我可以获得某些元素的 CascadedStyle,但所有元素的 ComputedStyle 仍然为空。