【发布时间】:2014-10-14 06:22:57
【问题描述】:
我正在使用 Python 制作 GUI 应用程序,使用 PyQt4 和 spynner。我有功能:
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
这个函数在网站上做一些动作并返回给我页面的 html 代码。 我有名为“下载器”的主要功能:
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
我还有第三个调用“下载器”的函数:
def print_keys(self):
.................
self.downloader()
这个函数连接到按钮:
self.start_button.clicked.connect(self.print_keys)
在“downloader”中这个字符串之后:
self.progress_bar.setValue(((j+1)*100)/len(self.input_data))
我有“Python.exe”应用程序崩溃。原因:QtCore4.dll。
我做错了什么?请帮助我。
【问题讨论】:
-
“寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包含在问题本身中重现它所需的最短代码”。您能否提供一个简单的工作示例来演示问题,而不是大型程序的小部分。崩溃可能是由于许多事情造成的,如果没有上下文就无法诊断。
-
我的程序因为“spynner”而崩溃。没有 spynner,我没有任何问题。但我需要 spynner 来自动化一些动作。
-
可能是这样,但您仍然需要为演示问题的简约工作示例提供代码。没有它来调试这种东西基本上是不可能的