如何将driver.page_source写入二进制文件?

时间:2014-08-26 01:58:21

标签: python python-2.7 selenium unicode

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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