Проблемы с обработкой загрузок из специального браузера, созданного с помощью PyQt6. ⇐ Python

Программы на Python
Anonymous
Проблемы с обработкой загрузок из специального браузера, созданного с помощью PyQt6.

Сообщение Anonymous »

Я пытаюсь реализовать функцию обработки загрузок в своем собственном браузере, созданном с помощью PyQt6. Я столкнулся с двумя попытками загрузки и двумя ошибками, не меняя никакого кода между тестированием этих двух загрузок.
Здесь я создаю класс:

Код: Выделить всё

class DownloadManagerWidget(QWidget):
def downloadRequested(self, download: QWebEngineDownloadRequest):
assert download and download.state() == QWebEngineDownloadRequest.DownloadRequested

# Prompt the user for a file name
path, _ = QFileDialog.getSaveFileName(self, "Save as", QDir(download.downloadDirectory()).filePath(download.downloadFileName()))
if path.isEmpty():
return

# Set download directory and file name
download.setDownloadDirectory(QFileInfo(path).path())
download.setDownloadFileName(QFileInfo(path).fileName())
download.accept()

# Add the download to the download manager
self.add(DownloadWidget(download))

# Show the download manager
self.show()
Это соответствующие коды загрузки, расположенные в __init__ класса MainWindow(QMainWindow):

Код: Выделить всё

self.download_manager_widget = DownloadManagerWidget()
self.download_manager_widget.setAttribute(Qt.WidgetAttribute.WA_QuitOnClose, False)
QWebEngineProfile.defaultProfile().downloadRequested.connect(self.download_manager_widget.downloadRequested)
Пытался загрузить файл с сайта download.cnet.com, возникла такая ошибка:

Код: Выделить всё

js: Access to XMLHttpRequest at 'https://684d0d47.akstat.io/' from origin 'https://download.cnet.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Затем я попробовал еще один (скачав Chrome, если не ошибаюсь):

Код: Выделить всё

Traceback (most recent call last): File "D:\mybrowser.py", line 14, in downloadRequested assert download and download.state() == QWebEngineDownloadRequest.DownloadRequested
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: type object 'QWebEngineDownloadRequest' has no attribute 'DownloadRequested'
Я в замешательстве. Можете ли вы помочь мне понять, что мне следует делать? Основываясь на ошибке политики CORS, я думал, что в коде нет ошибки, но затем, когда появилось сообщение AttributeError, не означает ли это ошибки в коде?

Подробнее здесь: https://stackoverflow.com/questions/779 ... with-pyqt6

Вернуться в «Python»