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

Posted

技术标签:

【中文标题】从控制台上的 PyQt5 浏览器中删除日志【英文标题】:Remove Logs from PyQt5 Browser on Console 【发布时间】:2019-02-25 21:47:40 【问题描述】:

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

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

【问题讨论】:

【参考方案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_())

【讨论】:

我不确定您将如何在我的程序中实现您的解决方案,因为浏览器(以及所有其他应用程序)是QMdiSubWindow。因此,我的程序与您的程序设计不同。 @DS_SecretStudios 我给你做了 PR,检查你的存储库

以上是关于从控制台上的 PyQt5 浏览器中删除日志的主要内容,如果未能解决你的问题,请参考以下文章

如何在浏览器控制台上显示从服务器获取的值?

如何从 Android 开发者控制台上的应用程序列表中删除应用程序

如何在亚马逊 Alexa 控制台上删除亚马逊技能?

如何使用 Javascript 在 Chrome 浏览器控制台上为背景着色

如何在 IDEA 控制台上显示 Play 框架“日志”

AngularFire2:通过多个浏览器选项卡通知注销