spy分析文件另存为弹框【selenium】

本文介绍了如何通过Selenium设置Chrome浏览器的默认下载路径,当路径不存在时,处理弹出的文件另存为对话框,包括定位窗口元素并输入新路径,以及监控下载完成情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时需要下载多个文件,但是不想保存在同一个目录下,需要做两步

  1. selenium设置浏览器默认下载路径,这个路径需要是个不存在的路径
  2. 操作文件另存为弹框

selenium设置浏览器默认下载路径

selenium设置浏览器默认下载路径,这个路径需要是个不存在的路径

options = webdriver.ChromeOptions()
prefs={
"download.default_directory":"D:/a/b/c" # todo我电脑里不存在这个路径
}
options.add_experimental_option('prefs',prefs)
driver= webdriver.Chrome(executable_path="???",options=options)

操作文件另存为弹框

由于上面设置的路径不存在,每次下载文件的时候,电脑都会弹出文件另存为弹框,此时可以操作这个窗口保存文件到不同路径

import win32gui
import win32cn

win = win32gui.FindWindow('#32700',u'另存为')
edit  = win32gui.FindWindow(win,0,'DUIViewWndClassName',None)
edit  = win32gui.FindWindow(edit,0,'DirectUIHWND',None)
edit  = win32gui.FindWindow(edit,0,'FloatNotifySink',None)
edit  = win32gui.FindWindow(edit,0,'ComboBox',None)
edit  = win32gui.FindWindow(edit,0,'Edit',None)
win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,
"D:\\a.txt" # 注意路径需要带文件名
) 

save = win32gui.FindWindowEx(win,0,'Button',None)
win32gui.SendMessage(win,win32con.WM_COMMAND,1,save)# 保存按钮

在这里插入图片描述
另外,如果需要知道文件下载完没有可以参考监听浏览器的下载事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值