def __init__(self, **kwargs): super(CustomMainWindow, self).__init__() self.settings = QtCore.QSettings("Southpaw Technology Inc", "TACTIC") self.kwargs = kwargs self.splash = self.kwargs.get('splash') self.webView = self.kwargs.get('webView') self.url = self.kwargs.get('url') self.cookie_jar = QtNetwork.QNetworkCookieJar() cookies = [] for c in self.get("cookiejar", []): # For some reason, it has to be parsed as a string (not unicode) cookie = QtNetwork.QNetworkCookie.parseCookies(str(c))[0] cookies.append(cookie) self.cookie_jar.setAllCookies(cookies) self.draw()
def __init__(self, web_page_class=QQWebPage): super(QBrowser, self).__init__() self.isLoaded = False try: os.environ['DISPLAY'] = ':99' process = ['Xvfb', ':99', '-pixdepths', '25'] FNULL = open(os.devnull, 'w') self.xvfb = subprocess.Popen(process, stdout=FNULL, stderr=subprocess.STDOUT) except OSError: raise Error('xvfb is required') self.app = QtGui.QApplication.instance() or QtGui.QApplication([]) #self.app = QtCore.QCoreApplication([]) self.page = web_page_class(self.app) self.page.setUserAgent(default_user_agent) self.page.loadFinished.connect(self._page_loaded_call_back) self.page.loadStarted.connect(self._page_started_call_back) self.page.setNetworkAccessManager(QNetManager()) self.response = None self.net = self.page.networkAccessManager() self.net.finished.connect(self._net_finished_call_back) self.cookie_jar = QtNetwork.QNetworkCookieJar() self.net.setCookieJar(self.cookie_jar) self.frame = self.page.mainFrame() QtWebKit.QWebSettings.setMaximumPagesInCache(0) QtWebKit.QWebSettings.setObjectCacheCapacities(0, 0, 0) QtWebKit.QWebSettings.globalSettings().setAttribute( QtWebKit.QWebSettings.LocalStorageEnabled, True) self.page.setForwardUnsupportedContent(True) self.page.settings().setAttribute(QtWebKit.QWebSettings.AutoLoadImages, True) self.page.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, False) self.page.settings().setAttribute(QtWebKit.QWebSettings.JavaEnabled, False) self.page.settings().setAttribute( QtWebKit.QWebSettings.JavascriptEnabled, True)