Сбой Python QWebEnginePage (PyQt5)

Привет всем, я просто пытаюсь использовать pyqt5 (я использовал python-3.5) для рендеринга HTML. Я реализовал этот класс (Page) для выполнения следующих задач:

#This is the Main.py.
import sys
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
import UrlDl

class Page(QWebEnginePage):
    def __init__(self, html, url):
        self.app = QApplication(sys.argv)
        QWebEnginePage.__init__(self)
        self.html = None
        self.loadFinished.connect(self._on_load_finished)
        self.setHtml(html, QUrl(url))
        self.app.exec_()


    def _on_load_finished(self):
        self.html = self.toHtml(self.Callable)
        print('Load finished')



    def Callable(self, html_str):
        self.html = html_str
        #print("quit called")
        self.app.quit()

def main():
    url = ''#Base_Url
    with open('C:\\HTML_FILE_PATH', "r") as text:
        url_html = text.read()
    for i in range(10):
        page = Page(url_html, url)
        print(page.html)

if __name__ == '__main__': main()

Я запускаю этот класс с HTML (уже загружен) и базовый URL следующим образом:

page = Page(html, base_url)

этот код работает несколько раз (в цикле for). Но после нескольких пробежек я получил исключения:

[15952:7692:0115/010330.922: ОШИБКА:cache_util_win.cc(20)] Невозможно переместить кэш: 5 [15952:7692:0115/010330.922: ОШИБКА:cache_util.cc(134)] Невозможно переместить папку кэша C:\Users...\QtWebEngine\Default\GPUCache в C:\Users....\QtWebEngine\Default\old_GPUCache_000 [15952:7692:0115/010330.922: ОШИБКА:cache_creator.cc(134)] Невозможно создать кэш [15952:7692:0115/010330.922: ОШИБКА:shader_disk_cache.cc(570)] Ошибка создания кэша шейдера: -2 [15952:7692:0115/010331.027: ОШИБКА:cache_util_win.cc(20)] Невозможно переместить кэш: 5 [15952:7692:0115/010331.027: ОШИБКА:cache_util.cc(134)] Невозможно переместить папку кэша C:\Users...\QtWebEngine\Default\Cache в C:\Users...\QtWebEngine\Default\old_Cache_000 [15952:7692:0115/010331.027: ОШИБКА:cache_creator.cc(134)] Невозможно создать кеш

Когда это терпит крах, это также завершается со странным кодом выхода (не ноль). Это выглядит так:

Процесс завершен с кодом выхода -1073741819 (0xC0000005)

Это выход, потому что линия self.app.quit() (в функции "Callable" в моем классе).

Как это решить??

0 ответов

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