@pawelch

PyQt5 QWebEngineView открываю страницу — как получить исходный код?

Всем добрый день

PyQt5 QWebEngineView открываю страницу
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineView, QWebEnginePage
from PyQt5.QtGui import QIcon
import PyQt5
import sys


class Main(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Name')
        self.setWindowIcon(QIcon('icon.png'))

        web = QWebEngineView()

        web.load(QUrl("https://google.com"))
        html = web.page().toHtml()

        self.btn = QPushButton('Button', self)
        self.btn.resize(self.btn.sizeHint())
        lay = QVBoxLayout(self)
        lay.addWidget(self.btn)
        lay.addWidget(web)

app = QApplication(sys.argv)
main = Main()
main.show()
app.exec_()


Но возникает ошибка toHtml(self, Callable[[str], None]): not enough arguments

Как правильно получить html код страницы?
app = QApplication(sys.argv)
main = Main()
main.show()
app.exec_()
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bbkmzzzz
toHtml метод асинхронный, ему аргументом требуется callback функция, которая примет на вход строку, которая и будет кодом страницы

def processHTML(html):
    print(html)
web.page().toHtml(processHTML)

Когда код страницы будет готов, PyQt вызовет processHTML
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы