如何将driver.page_source写入二进制文件?
我正在使用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等软件中打开它。