Как включить режим инкогнито в PyQtWebEngine?

#python #pyqt5

#python #pyqt5 #qtwebengine

Вопрос:

Я создаю веб-браузер с использованием PyQtWebEngine, но как я буду использовать в нем функцию режима инкогнито.

Ответ №1:

Ответ содержится в примере, который я уже указывал в предыдущем посте: WebEngine Widgets Простой пример браузера. В разделе «Реализация частного просмотра» они указывают, что достаточно предоставить QWebEngineProfile() другой QWebEngineProfile::defaultProfile() вариант, поскольку последний по умолчанию используется всеми страницами, а это то, что не ищется при частном просмотре.

 from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets


class WebView(QtWebEngineWidgets.QWebEngineView):
    def __init__(self, off_the_record=False, parent=None):
        super().__init__(parent)
        profile = (
            QtWebEngineWidgets.QWebEngineProfile()
            if off_the_record
            else QtWebEngineWidgets.QWebEngineProfile.defaultProfile()
        )
        page = QtWebEngineWidgets.QWebEnginePage(profile)
        self.setPage(page)


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    view = WebView(off_the_record=True)

    view.load(QtCore.QUrl("https://www.qt.io"))
    view.show()

    sys.exit(app.exec_())