我刚刚了解到浏览器的“查看源代码”和“检查元素”之间存在差异。当我在特定网页上的 Firefox 中使用“检查”时,我得到以下信息:
<html>
...
<div class="someClass" id="someID" style="z-index: 12001; left: 0px; top: -487px; width: 1288px; height: 843px; opacity: 0.7; visibility: visible;">
...
</html>
但是,当我使用“查看源代码”时,我看不到这个元素。当我通过 Spynner 访问网页并解析 html 时,会出现看不到元素的问题。既然我需要知道“可见性”的价值,我的问题是:如何在 Spynner 中访问 DOM?
我已经尝试过以下源代码:
br = spynner.Browser()
br.show()
br.load(url)
ret = br.runjs('document.getElementById('someID');")
print ret
但这只会打印出来:
<PyQt4.QtCore.QVariant object at 0x9870e64>
//
编辑
由于 ret 是一个 QVariant 我设法通过修改我的代码将它变成一个 PyObject :
ret = br.runjs('document.getElementById('someID').getAttribute('style');")
print ret.toPyObject()
我现在唯一的问题是:打印只显示“样式”的第一个值
z-index: 9999;
我可以以某种方式访问其他值(左侧、顶部、高度、不透明度、可见性)吗?