我正在使用Selenium Grid,需要下载文件以进行自动测试下载。我遇到了一个问题,响应不是文件内容本身,而是内容先压缩,然后 Package 在JSON中。
下面是我试图解开的答案:
b'{\n "filename": "test.txt",\n "contents": "UEsDBBQACAgIAFV1TlYAAAAAAAAAAAAAAAAIAAAAdGVzdC50eHQDAFBLBwgAAAAAAgAAAAAAAABQSwECFAAUAAgICABVdU5WAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAdGVzdC50eHRQSwUGAAAAAAEAAQA2AAAAOAAAAAAA"\n}'
上面的数据应该包含一个名为test.txt的空文件。
根据文档,内容是Base64编码的压缩文件夹,我希望能够解压缩此字符串并读取其中test.txt文件的内容,但我不确定如何解压缩Base64编码的字节字符串。
我使用Python,所以如果有人知道如何解压缩内容并读取其中的test.txt文件,那将非常有帮助。
以下是用于下载文件的Selenium Grid文档:https://www.selenium.dev/documentation/grid/configuration/cli_options/#important-information-when-dowloading-a-file
1条答案
按热度按时间efzxgjgh1#
在解析json之后,您需要对内容进行b64decode,然后将结果存储在临时文件或BytesIO对象中,以便可以使用ZipFile:
然后,我们可以看到存储在该zip文件中的文件的元数据(此步骤不是必需的):
要解压缩所有文件,可以使用
extractall
方法:如果需要,还可以解压缩单个文件。