如何在没有GTK的情况下运行WebKit WebView?

4

我可以在没有GTK循环的情况下运行webkit.WebView对象吗?我想制作一个基于Webkit的简单无头浏览器,不需要任何GTK - 我不显示任何内容。

win = gtk.Window() # <------------------------+--- can I not use those?
web = webkit.WebView() #                       |
web.load_uri("http://example.com") #           |
web.connect("load-finished", get_html_source) #|
win.add(web) # <-------------------------------|
#win.show_all() #                              |
gtk.main() # <---------------------------------|

没有使用show_all,我就不会显示任何内容,但我仍然使用GTK。我想让脚本支持多线程,而在这里使用GTK会有问题(我使用的模块越少越好)。

(我使用Python,但这不是一个特定于Python的问题)

2个回答

2

2
不,那是不可能的。webkit.WebView是基于GTK工具包构建的,即使您只显示一个Web视图,仍然需要一个GTK窗口来放置它。
如果您真的不想要GTK窗口,那么为什么不在默认浏览器中打开页面呢?

我想用JavaScript制作一个简单的自动无头浏览器。使用gtkwebkit可以轻松完成,但我还希望它能够与多线程一起使用。 - Jakub M.
那不是一个好的解释,为什么这是不可能的(如果的确如此的话,我仍在寻找)。 不想要GTK窗口是有道理的。我有类似的需求,希望WebView直接使用整个显示器,并尽可能少地依赖其他库,因此GTK会成为负担。 - Jan Segre
1
你可能有不想使用GTK窗口的原因,但是那样做就是在用错误的工具。webkit.WebView来自于WebKitGTK库,正如其名称所示,需要GTK。 - ptomato

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接