1

私は現在、Python Webkit DOM Bindingsを使用してプログラムで Web サイトとやり取りしていますが、それは私にとってはうまくいっています。

唯一の問題は、ページを表示するために GTK ウィンドウを開くことを要求することです。誰かが窓を開けないようにする方法を見つけましたか? つまり、ヘッドレスで使用するには?

次のようにビューを初期化しています。

    wv = pywebkitgtk.WebView(1024, 768, url=url)

暗黙的に GTK ウィンドウを開き、DOM を操作する onload イベント ハンドラーを用意します。

WebView をサブクラス化することを最初に考えましたが、コンパイルされたクラスであるため、それは不可能です。

他のアイデアはありますか?

4

5 に答える 5

1

私はPyQTを使用しています。PyQTWebView は Webkit 上で動作し、うまく機能します。Ghost.pyを確認して開始するか、PyQT の API を直接使用してください。完全にヘッドレスで実行され、Webkit のかなり最近のビルドをサポートします。

于 2013-01-07T19:55:20.877 に答える
1

Xvfb を使用してみてください。コマンド ラインを使用してディスプレイを手動で設定するのが好きですが、それが気に入らない場合は、http: //cgoldberg.github.io/xvfbwrapper/を使用できます。

于 2013-04-12T19:47:50.013 に答える
0

ウィンドウを作成し、そこに webview を追加し、ウィンドウを表示しない..

それらを表示せずに実行している webviews があり、表示する必要がある場合は show_all を呼び出すことができます。

web_view = pywebkitgtk.WebView()
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
sw = gtk.ScrolledWindow(hadjustment=None, vadjustment=None)
sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
sw.add(web_view)
window.add(sw)

#window.show_all()
于 2013-01-11T10:43:22.407 に答える
0

GTK ウィンドウへのハンドルを取得してから呼び出すことができますwindow.hide()か? それ以外の場合は、完全な Webkit ライブラリを使用する必要があります。

于 2013-01-07T19:40:47.473 に答える