首页 > 解决方案 > 为什么当用户注销时,任务调度程序无法与执行带有 selenium 的 python 程序的批处理文件完全交互

问题描述

所以我有一个在windows系统上运行的服务器,我需要使用windows任务调度程序为一个批处理文件安排一个日常任务,该文件执行一个包含硒操作的python脚本(我使用的是chrome驱动程序),预期的结果是自动从在线下载文件,然后将其解压缩到另一个文件夹。即程序下载文件并将其存储在C:\download 中,然后将其解压缩到E:\Data。

如果我在 Windows 调度程序中设置“仅在用户登录时运行”或者我只是手动运行程序,一切工作正常。但是,当我设置“无论用户是否登录都运行”时,我不会看到任何文件被下载,所以我怀疑为了让它工作,必须登录才能让 webdriver 与网站交互?我参考了这个网站,虽然作者使用的是边缘( https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7290550/),但似乎情况确实如此。任何人都可以帮助确认这一点,或者有人可以为我提供解决方案吗?

此外,如果我手动将压缩文件保留在 C:\download 中,当任务以“无论用户是否登录时运行”开始时,我可以看到文件在目标文件夹中解压缩,即 E:\Data 这意味着我的脚本的一部分(提取部分)被执行。所以我很肯定任务成功启动,但硒和网站之间没有交互。谢谢。

PS我的脚本不包含任何映射的驱动程序,所以这个解决方案不适用(https://social.technet.microsoft.com/Forums/windows/en-US/c03d6691-b058-4f8d-961c-e8eba25bbaed/task- scheduler-problem-run-whether-user-is-logged-on-or-not?forum=w7itprogeneral),这也无济于事(任务调度程序在设置为运行时无论用户是否登录都无法打开批处理文件)。

标签: pythonwindowsseleniumbatch-filetaskscheduler

解决方案


推荐阅读