0

jsのページがあります。jsがウェブページで実行された後にdomを取得する必要があります。Jsは、「sdl」という名前のテキストをdivに挿入します。の間に値を取得する必要があります。値はjsソースでは解析できません。Jsによって生成されます。どうやってするの?英語でごめんなさい。

4

2 に答える 2

1

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

于 2010-10-02T20:16:56.837 に答える
0

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オブジェクトを作成しないでください。作成しないと、すべてがクラッシュする傾向があります。

于 2012-08-06T09:38:01.163 に答える