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

1 投票
1 回答
1068 浏览
提问于 2025-04-18 18:31

我正在使用Selenium从一个网站下载xls文件。Selenium点击一个按钮后,driver.page_source现在包含了Excel电子表格的内容。

我该如何把driver.page_source的内容提取到一个二进制文件中,这样我就可以在Excel、LibreOffice等软件中打开它呢?

如果我直接尝试把它写入文件,就会遇到一些ASCII编码的问题。我试着先把它转换成字节数组,但似乎还是需要某种编码,而'utf-8'并不能生成一个可用的Excel文件。

1 个回答

2

这可能不是最优雅的解决办法,但对我来说,最终有效的方法就是一个一个地写每个字节,像这样:

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

这样做生成了一个可以正常使用的Excel文件,我可以在libreoffice等软件中打开它。

撰写回答