PyQT5 - Получить Cookies после полной загрузки сайта - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь получить файлы cookie (набор сайтов) после загрузки страницы. Я хочу получить эти куки и загрузить их в модуль запросов (но это не проблема). Моя проблема в том, что он пытается получить куки от cookieJar, хотя сайт не загружен.

import sys
import requests
import time
from PyQt5 import QtCore
from PyQt5.QtWidgets import QMainWindow,QVBoxLayout,QWidget,QApplication
from PyQt5.QtWebKitWidgets import *
from PyQt5.QtCore import QUrl
from requests.cookies import RequestsCookieJar
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkCookie, QNetworkCookieJar
def loadFinished(ok):
    print("load")


app = QApplication(sys.argv)
mainWindow = QMainWindow()
widget = QWidget()
web = QWebView()
cookieJar = QNetworkCookieJar()
nam = QNetworkAccessManager()
nam.setCookieJar(cookieJar)
web.page().setNetworkAccessManager(nam)
print("webload")
web.load(QUrl("https://www.spigotmc.org/"))
verticalLayout = QVBoxLayout()
verticalLayout.addWidget(web)
mainWindow.setCentralWidget(widget)
mainWindow.show()
widget.setLayout(verticalLayout)
qtCookies = cookieJar.cookiesForUrl(QUrl("https://www.spigotmc.org/"))
cookies = RequestsCookieJar()
for qtNetworkCookie in qtCookies:
    cookie = requests.cookies.create_cookie(name=str(qtNetworkCookie.name(), 'utf-8'),value=str(qtNetworkCookie.value(), 'utf-8'))
    cookie.domain = ".spigotmc.org"  # your domain
    cookies.set_cookie(cookie)
    print(str(cookie))
app.exec()

Он выполняет все напрямую, но я хочу, чтобы сначала была загружена страница, а затем cookieJar быть опрошенным. Уже все искал на Inte rnet, но ничего не нашел.

Я использую: Python 3.6 // PyQT5 5.14.2

Спасибо за помощь!

...