问题描述
我在aws lambda和firefox驱动程序上使用python 3.8 +硒包
那我该如何在硒中设置firefox配置文件的下载位置?
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.downloads.folderList",2)
profile.set_preference("browser.downloads.manager.showWhenStarting",False)
profile.set_preference("browser.downloads.dir","HOW TO SET S3 PATH HERE")
如果没有,那么实现它的最佳方法是什么
解决方法
Selenium对AWS或S3一无所知。您可以将文件下载到本地文件系统,然后使用boto3上载到S3。例如:
profile.set_preference("browser.downloads.dir",DOWNLOAD_DIRECTORY)
# when Selenium run is complete,create a gzipped tar file of downloads
tarball = "{0}.tar.gz".format(DOWNLOAD_DIRECTORY)
with tarfile.open(tarball,"w:gz") as f:
f.add(DOWNLOAD_DIRECTORY)
client = boto3.client("s3")
try:
client.upload_file(tarball,S3_BUCKET,s3_key_name)
except ClientError as e:
log.error(e)