我正在使用PyQt4和QWebView小部件来查看网页,但似乎我的Javascript存在问题.其他浏览器似乎运行正常,所以我想知道是否通过将它们打印到控制台发生任何异常.
我正在使用的代码如下.我需要添加什么来做到这一点?
from PyQt4 import QtGui, QtWebKit browser = QtWebKit.QWebView() browser.load(QtCore.QUrl("http://myurl")) browser.show()
谢谢,安德鲁
创建子类QWebPage
并定义方法javaScriptConsoleMessage()
:
import sys from PyQt4 import QtCore, QtGui, QtWebKit class WebPage(QtWebKit.QWebPage): def javaScriptConsoleMessage(self, msg, line, source): print '%s line %d: %s' % (source, line, msg) url = 'http://localhost/test.html' app = QtGui.QApplication([]) browser = QtWebKit.QWebView() page = WebPage() browser.setPage(page) browser.load(QtCore.QUrl(url)) browser.show() sys.exit(app.exec_())
样本输出:
% python qweb.py http://localhost/test.html line 9: SyntaxError: Parse error
或者您可以添加DeveloperExtrasEnabled,右键单击QWebView并选择Inspect.
QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);