Search code examples
pythonpyqt4qtcorecrash

Pyqt4, QtCore4.dll appcrash


I am making GUI application by Python, using PyQt4 and spynner. I have function:

def find_me(self, url, name=None, code=None):
    b = spynner.Browser()
    if name != None and code != None:
        b.create_webview()
        b.load(url)
        b.wk_fill('input[name="ctl00$cphBody$tbOrgName"]', name)
        b.wk_fill('input[name="ctl00$cphBody$OrganizationCode1$CodeTextBox"]', code)
        b.click('#ctl00_cphBody_btnSearch')
        b._wait_load()
        source = b.html
        b.destroy_webview()
        b.close()
    else:
        b.create_webview()
        b.load(url)
        source = b.html
        b.destroy_webview()
        b.close()
    return source

This function doing some moves on site and returning to me html code of page. I have main function named "downloader":

def downloader(self):
    downloads_list = []
    uniq = []
    j = 0
    for name, code, checkstate in self.input_data:
        try:
            if checkstate == 0:
                source = self.find_me("http://bankrot.fedresurs.ru/DebtorsSearch.aspx",     name, code)
                root = XpathSelector(fromstring(source))
            else:
                new_name = name.split(" ")
                source = self.find_me2("http://bankrot.fedresurs.ru/DebtorsSearch.aspx", new_name[0], new_name[1], new_name[2], code)
                root = XpathSelector(fromstring(source))
    ......
    self.progress_bar.setValue(((j+1)*100)/len(self.input_data)) #setting value to progress bar
    j += 1

And i have third function that calling "downloader":

def print_keys(self):
    .................
    self.downloader()

This function connected to button:

self.start_button.clicked.connect(self.print_keys)

After this string in "downloader":

self.progress_bar.setValue(((j+1)*100)/len(self.input_data))

I have "Python.exe" appcrash. Reason : QtCore4.dll.

What i am doing wrong?Help me please.


Solution

  • Soved my problem by replacing spynner for Selenium+PhantomJS