【问题标题】:How to write driver.page_source to a binary file?如何将 driver.page_source 写入二进制文件?
【发布时间】:2014-08-26 01:58:20
【问题描述】:

我正在使用 selenium 从网站下载 xls。 Selenium 单击一个按钮,结果是 driver.page_source 现在包含 Excel 电子表格。

如何将 driver.page_source 的值提取到二进制文件中,我可以在 Excel、libreoffice 等中打开?

如果我只是尝试将其写入文件,我会遇到 ascii 编码等问题。我尝试先将其转换为字节数组,但它似乎仍然需要某种编码,并且 'utf-8' 不会生成有效的 excel 文件。

【问题讨论】:

  • 为什么要投反对票?

标签: python python-2.7 selenium unicode


【解决方案1】:

这可能不是最优雅的解决方案,但最终对我有用的是简单地逐个写入每个字节,如下所示:

f = open('report.xls', 'wb')
for uchar in driver.page_source:
    f.write(bytearray([ord(uchar)]))
f.close()

这产生了一个有效的 Excel 文件,然后我可以在 libreoffice 等中打开它。

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    相关资源
    最近更新 更多