Как получить данные с удаленной веб-страницы на pyqt5 с помощью QWebChannel

Я знал способ передачи данных между локальным файлом HTML (который я могу добавить <script src="./qwebchannel.js"></script> to) и PyQt5. Как я могу осуществить передачу данных между удаленной веб-страницей (которую я не могу редактировать в исходном файле) и PyQt5?

class WebWidget(QWidget):
    def __init__(self):
        super(WebWidget, self).__init__()
        self.ui = None
        self.setupUi()
        self.webView = self.ui.webView
        self.init_webView()

    def setupUi(self):
        ui_path = QFileInfo('../../ui/demo/UiWebView.ui').absoluteFilePath()
        self.ui = uic.loadUi(ui_path, self)

    def init_webView(self):
        local_url = QUrl.fromLocalFile(QFileInfo('../../page/index.html').absoluteFilePath())
        self.webView.load(local_url)


if __name__ == '__main__':
    from PyQt5 import QtWebEngineWidgets
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
    app = QApplication(sys.argv)
    widget = WebWidget()

    channel = QWebChannel()
    myObj = MySharedObject()
    channel.registerObject("bridge", myObj)
    widget.webView.page().setWebChannel(channel)
    widget.show()
    sys.exit(app.exec_())

локальный index.html

<html>
    <head>
      <title>A Demo Page</title>
      <meta charset="UTF-8">
      <script src="./qwebchannel.js"></script>
      <script language="javascript">
    </head>
   ...
</html>

0 ответов

Другие вопросы по тегам