微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium Automation 将文件保存到目录

如何解决Selenium Automation 将文件保存到目录

我正在编写一个 selenium 脚本,用于从浏览器保存文件。该脚本工作正常,但我在自动化方面遇到困难。如果用户登录,脚本将按预期运行。如果屏幕被锁定或用户注销,则无法找到目录。

文件保存到目录时脚本似乎中断了。

我创建了一个使用 pyautogui文件保存到指定目录的函数

pyautogui.hotkey('ctrl','s')
time.sleep(2)
FILE_NAME = '' + directory + filename
pyautogui.typewrite(FILE_NAME)
time.sleep(1)
pyautogui.press('enter')
time.sleep(1)
pyautogui.keyDown('left')
pyautogui.keyDown('enter')

函数运行并控制台显示任务已完成,但文件实际上并未保存到目录中。

我假设这是因为在计算机处于睡眠模式或注销时目录路径被阻止修改

只是为了说明脚本按预期运行,只有在没有用户在场的情况下尝试自动执行作业时才会遇到此问题。

不确定是否有其他访问目录的方式。任何建议将不胜感激!

解决方法

我建议你在驱动初始化中添加额外的参数

  1. 设置默认下载目录
  2. 关闭选择文件位置的提示

如果是 Chrome,你应该配置以下参数

      "download.default_directory": "DIR","download.prompt_for_download": false,"download.directory_upgrade": true

您可以在此处找到更多详细信息: https://chromedriver.chromium.org/capabilities(设置下载目录部分)

使用这种方法,您唯一要做的就是点击下载链接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。