Всем доброго.
Никак не могу разобраться как запустить повторный запрос на авторизацию, авторизоваться получается только с первого раза, если ввожу повторно пару логин/пароль приложение просто завершается.
Ниже код который получился:
# -*- coding: utf-8 -*-
from PySide import QtGui
from PySide import QtCore
from PySide import QtWebKit
import sys
#Окно аутентификации
class Login(QtGui.QDialog):
    def __init__(self):
        QtGui.QDialog.__init__(self)
        self.setWindowTitle(u'Авторизация.')
        self.lbl_head = QtGui.QLabel(u"<font color=red><b>Авторизуйтесь перед выполнением работ!</b></font>", self)
        self.lbl_name = QtGui.QLabel(u'Логин:', self)
        self.lbl_pass = QtGui.QLabel(u'Пароль:', self)
        self.textName = QtGui.QLineEdit(self)
        self.textPass = QtGui.QLineEdit(self)
        self.textPass.setEchoMode(QtGui.QLineEdit.Password)
        self.buttonLogin = QtGui.QPushButton(u'Авторизация', self)
        self.buttonLogin.clicked.connect(self.handleLogin)
        #Расположение элементов в окне
        grid = QtGui.QGridLayout()
        grid.addWidget(self.lbl_head, 0, 0, 1, 0)
        grid.addWidget(self.lbl_name, 1, 0)
        grid.addWidget(self.textName, 1, 1)
        grid.addWidget(self.lbl_pass, 2, 0)
        grid.addWidget(self.textPass, 2, 1)
        grid.addWidget(self.buttonLogin, 3, 0, 1, 0)
        self.setLayout(grid)
    def handleLogin(self):
        Window.log_login = self.textName.text()
        Window.pass_login = self.textPass.text()
        self.accept()
class Window(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.area = QtGui.QWidget(self)
        self.setCentralWidget(self.area)
        self.resize(1200, 900)
        self.setWindowTitle(u'Учет предприятии.')
        # Помещаем GUI в центр экрана
        screen = QtGui.QDesktopWidget().screenGeometry()
        size =  self.geometry()
        self.move((screen.width()-size.width())/3, (screen.height()-size.height())/3)
        #Размещаем браузер
        self.web=QtWebKit.QWebView(self)
        self.web.setGeometry(0,20,1200,900)
        self.web.setWindowTitle('MyWebKitBrowser')
        
        #Расположение элементов в окне
        self.layout = QtGui.QVBoxLayout()
        self.layout.addWidget(self.web)
        self.area.setLayout(self.layout)
        self.area.show()
        self.log_def()
        
    def log_def(self):
        log1 = Login()
        f = log1.exec_()
        self.log = log1.textName.text()
        self.pas = log1.textPass.text()
        self.web.load(QtCore.QUrl('http://www.anysite.com'))
        self.web.loadFinished.connect(self.fillForm)
    #Авторизация на сайте!!!
    def fillForm(self): 
        doc = self.web.page().mainFrame().documentElement()
        user = doc.findFirst("input[id=modlgn-username]")
        passwd = doc.findFirst("input[id=modlgn-passwd]")
        user.setAttribute("value", self.log)
        passwd.setAttribute("value", self.pas)
        form = doc.findFirst("form[id=login-form]")
        form.evaluateJavaScript('this.submit()')
        self.web.loadFinished.connect(self.searchExit)
        self.web.loadFinished.disconnect(self.fillForm)
    #Проверка авторизации.
    def searchExit(self):
        doc1 = self.web.page().mainFrame().documentElement()
        self.auth = doc1.findFirst("input[name=task]")
        #Проверка авторизации
        if self.auth.attribute("value") == "user.logout":
            window.show()
        else:
            self.log_def()
        self.web.loadFinished.disconnect(self.searchExit)
        
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = Window()
    app.exec_()