Возникла проблема в том, что открывается как и положено несколько окон с сайтом, но авторизация начинается только в 1 из окон, в остальных только форма входа прогружается и больше ничего не происходит. Помогите понять в чем проблема может быть?
P.S Ещё вопрос правильно я делаю, что использую qwebview? Просто окно по сути мне не надо и в конечном приложении я его отображать не буду. Мне только нужно, чтобы js код на старнице интерпретировался и чтобы я мог авторизоваться сохранить итоговую страницу.
Может мне на основе другого класса производить парсинг, чтобы ресурсов меньше тратилось?
import sys from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4 import QtNetwork class NetworkAccessManager(QtNetwork.QNetworkAccessManager): def __init__(self, *arg, **args): QtNetwork.QNetworkAccessManager.__init__(self, *arg, **args) proxy = QtNetwork.QNetworkProxy() proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy) proxy.setHostName('187.160.129.238') proxy.setPort(10000) self.setProxy(proxy) class WebPage(QtWebKit.QWebPage): def __init__(self, *arg, **args): QtWebKit.QWebPage.__init__(self, *arg, **args) net_manager = NetworkAccessManager() self.setNetworkAccessManager(net_manager) self.conf = self.settings() self.conf.setAttribute(self.conf.AutoLoadImages, False) class Browser(QtWebKit.QWebView): def __init__(self, *arg, **args): QtWebKit.QWebView.__init__(self, *arg, **args) self.loadFinished.connect(self.load_complete) def load_complete(self): page = self.page().mainFrame().documentElement() user = page.findFirst('#login-appleId') passwd = page.findFirst('#login-password') submit = page.findFirst("#sign-in") user.evaluateJavaScript("this.value='qwerty@mail.ru'") passwd.evaluateJavaScript("this.value='123456'") submit.evaluateJavaScript("this.click()") if self.url().toString() == 'https://secure1.store.apple.com/shop/order/list?hist=545': print(self.url()) br = [] app = QtGui.QApplication(sys.argv) for i in range(5): br.append(Browser()) br[i].setPage(WebPage()) br[i].load(QtCore.QUrl('https://secure1.store.apple.com/shop/order/list?hist=545')) br[i].show() sys.exit(app.exec_())