【Python】【Selenium】如何设定文件自动下载存储

【背景】

用selenium写爬虫的一大目的往往是自动获取资源,但默认状态下webdriver在下载付件时会要求用户点击允许,然后还要手动选择保存在哪个文件夹,这样就起不到自动下载的目的了。今天来介绍如何允许webdriver自动保存,并且预设存储路径的方法。

【解决方法】

driver = webdriver.Chrome()
driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {
    
    'cmd': 'Page.setDownloadBehavior', 'params': {
    
    'behavior': 'allow', 'downloadPath': save_path}}
driver.execute("send_command", params)

第一行声明一个chrome的webdriver实例;
第二行自定义send_command命令;
第三行构造参数,参数的内容就是允许自动下载并预设存储路径;
第四行调用自定义命令send_command并传params,实现存储路径的预设。

【测试结果】

下载文件时不会要求用户点击确认,并且文件会自动保存到预设的save_path中。

猜你喜欢

转载自blog.csdn.net/weixin_41697242/article/details/125468992