从控制台上的PyQt5浏览器删除日志

时间:2019-02-25 21:47:40

标签: python pyqt pyqt5 qtwebengine

我有一个带有内置浏览器的PyQt5应用程序Virtual Desktop。使用浏览器时,我从浏览器中收到JS错误,类似于Chrome在“ Web Inspector”中放置JS和HTML错误的方式。我如何摆脱这些错误。

要复制错误,请下载Virtual Desktop并从PYPI安装PyQt。您需要运行main.py,选择一个QStyle,然后单击Browser(在电源按钮旁边)。转到任何网站(例如Google),然后切换回控制台。您会注意到控制台中填充了JS错误。

1 个答案:

答案 0 :(得分:1)

在使用您的项目时,我没有观察到问题,但以前遇到过这个问题,解决方案是编写javaScriptConsoleMessage()方法,消除了默认行为。

from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets 

class WebEnginePage(QtWebEngineWidgets.QWebEnginePage):
    def javaScriptConsoleMessage(self, level, msg, line, sourceID):
        pass

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    view = QtWebEngineWidgets.QWebEngineView()
    page = WebEnginePage(view)
    view.setPage(page)
    view.load(QtCore.QUrl("https://www.google.com/"))
    view.show()
    sys.exit(app.exec_())