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

Remove Logs from PyQt5 Browser on Console

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

要重现错误,请从 PYPI 下载 Virtual Desktop 并安装 PyQt。您需要 运行 main.py、select QStyle,然后单击浏览器(电源按钮旁边)。转到任何网站(例如 google)并切换回您的控制台。您会注意到控制台充满了 JS 错误。

我在使用你的项目时没有观察到这个问题,但我以前遇到过这个问题,解决方案是编写 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_())