Python 2.7使用斜纹,正确保存下载的文件

时间:2012-10-07 01:53:07

标签: python twill

import twill
twill.commands.agent("Mozilla/5.0 (Windows NT 6.2; WOW64; rv:15.0) Gecko/20120910144328 Firefox/15.0.2")
twill.commands.go('loginpage...')

twill.commands.fv("1", "txtUserName", "username")
twill.commands.fv("1", "txtPassword", "password")

# Login Page
twill.commands.submit()

# Pre Registration Report Selection
twill.commands.submit()

# Generate and download the report.
twill.commands.go("ReportGenerator.ashx")

print "Done!"

twill.commands.redirect_output('PreRegistration.xls')
#twill.commands.save_html('PreRegistration.xls')

这就是我目前正在尝试使用的内容。

该网站的工作原理如下:

  1. 登录页面重定向到另一个表单,让我选择要生成的报告。
  2. 我想要所有默认选项,所以我只是再次提交页面。
  3. 然后我访问另一个生成报告的页面,然后强制下载该文件。
  4. redirect_output不保存xls文件。

    save_html会保存信息,但它会破坏某些内容,而Excel根本无法读取它。我使用kdiff来检查任何差异,它声称有很多,但左/右数据是相同的,想知道它是否是行结尾的问题。等等。不是100%肯定。

    我已经在twill的网站上查看了命令页面,但我不确定该怎么做。

1 个答案:

答案 0 :(得分:2)

我怀疑这是一个终结问题。修改了twill的save_html函数,写成'wb'而不是'w',一切都很好。