jsのページがあります。jsがウェブページで実行された後にdomを取得する必要があります。Jsは、「sdl」という名前のテキストをdivに挿入します。の間に値を取得する必要があります。値はjsソースでは解析できません。Jsによって生成されます。どうやってするの?英語でごめんなさい。
2 に答える
DOMが公開されています(少なくともpyqt> = 4.7.4では)
document = webview.page().currentFrame().documentElement()
document.findAll("a")
...
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebframe.html
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebelement.html
Pythonでは、オープンソースでgithubから入手できるGhostを使用できます。これは、PyQt4 +WebKitハックのPythonラッパーであり、非常にうまく機能します。あなたはただすることができます
import ghost
g = ghost.Ghost()
g.open('http://stackoverflow.com/')
ここg.content
で、レンダリング後のドキュメントを参照します。
メソッドを使用してドキュメント内のJSを評価することもできevaluate
、JS値が返されます。
GhostはPyQtオブジェクトも非常に簡単に公開するのでGhost
、Ghostが実装していないオブジェクトに対して何かを行うことができ、それが通過します。
正確には思い出せませんが、
g.main_frame.setContent('<b>Hello World</b>')
ドキュメントを設定するために使用できますが、
g.content = '<b>Hello World</b>'
1つ投げます。ある程度の飼いならしは必要ですが、思いどおりに機能させるのにそれほど時間はかかりません。
Ghostのドキュメントは最悪ですが、ソースは単一のファイルであり、かなり説明的です。私はGhostを使用していますが、問題ありません。複数のGhost
オブジェクトを作成しないでください。作成しないと、すべてがクラッシュする傾向があります。