更新:我使用javaScriptConsoleMessage并在网站上收到消息:
Can't find variable: jQuery
我在我的项目中使用PyQt。 今天我想将web访问方式从webView.load(QUrl)改为QNetworkAccessManager.get(Qurl),因为webView.load(QUrl)不能使用异步。
如下所示:
之前:
self.webView.load(QUrl(input_url))
后:
AM = QNetworkAccessManager(parent=self)
self.net_reply= AM.get(net_requests)
AM.finished.connect(self.setweb)
def setweb(self, netreply):
replyArray = netreply.readAll()
self.qwebView.page().mainFrame().setContent(replyArray )
更改后,它在大多数网站上运行良好,但在某些网站(例如http://www.china.com.cn)中,视图不太好,就像它们没有css样式一样。如何更改代码以获取像webView.load(QUrl)这样的正确视图?
答案 0 :(得分:1)
我怀疑问题是setContent()
无法加载外部资源(例如CSS),因为您没有使用baseUrl
参数告诉QWebView
在哪里发出外部请求从。您还可以使用QWebView::setHtml(...)
作为不在setContent()
中设置MIME类型的快捷方式。