我正在尝试浏览网址列表并截取屏幕截图。下面是代码片段。
def onLoadFinished(result):
#fo.write( column1[feed])#, column2[feed], urls[feed])
global feed
print urls
if not result:
print "Request failed"
#print urls[feed]
fo.write(str(column1[feed])+','+str(column2[feed])+','+str(urls)+','+'414'+','+'image not created\n')
feed = feed + 1
sys.exit(1)
save_page(webpage, outputs.pop(0)) # pop output name from list and save
if urls:
url = urls.pop(0) # pop next url to fetch from list
webpage.mainFrame().load(QUrl(url))
#print urls[feed]
fo.write(str(column1[feed])+','+str(column2[feed])+','+str(urls)+','+'200'+','+'image created\n')
feed = feed + 1
else:
app.quit() # exit after last url
webpage.connect(webpage, SIGNAL("loadFinished(bool)"), onLoadFinished)
webpage.mainFrame().load(QUrl(urls.pop(0)))
#fo.close()
sys.exit(app.exec_())
现在在webpage.mainFrame()。load(QUrl(urls.pop(0)))中,我希望它继续弹出下一个url,但是一旦它进入onloadfinished方法,它就会给我第二个url第一次,然后列表变为空,我得到错误pop索引outngenge。
网址列表是[1.2] ..它首先给我2,第二次超出范围。任何想法如何从1开始按顺序获得它?
答案 0 :(得分:1)
onLoadFinished
也会从urls
弹出,所以如果首先运行,当您进入webpage.mainFrame()
来自urls
的{{1}}来电时,1
}已经弹出,第二次没有任何东西可以弹出。