ブラウザの「ソースの表示」と「要素の検査」には違いがあることを知りました。特定のWebページで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 を介して Web ページにアクセスし、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;
どうにかして他の値 (左、上、高さ、不透明度、可視性) にアクセスできますか?