仅来自任务计划程序的geckodriver.log权限被拒绝



我的脚本使用Selenium和Firefox为邮政跟踪服务网站获取我的物品状态。每当有更新时,我都会给我发一封电子邮件。它可以从批处理文件中单独运行,但从Windows任务调度程序中运行会返回:

Traceback (most recent call last):
File "C:UsersSandraPycharmProjectsrandomWhereIsMyItem.py", line 18, in <module>
browser = webdriver.Firefox()
File "C:UsersSandraAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverfirefoxwebdriver.py", line 163, in __init__
log_path=service_log_path)
File "C:UsersSandraAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverfirefoxservice.py", line 44, in __init__
log_file = open(log_path, "a+") if log_path is not None and log_path != "" else None
PermissionError: [Errno 13] Permission denied: 'geckodriver.log'

geckodriver.log、.exe、批处理文件和脚本存储在同一目录中。

我的批处理文件:

start C:UsersSandraAppDataLocalProgramsPythonPython37-32python.exe -i C:UsersSandraPycharmProjectsrandomWhereIsMyItem.py

我尝试将geckofiles配置为保存在保存Python的位置,并且任务调度器由具有管理员权限的用户运行。还有什么我可能做错的吗?

错误消息似乎与geckodriver.exe的位置有关。有一点是肯定的,windows计划任务要以其名义运行的用户对文件geckodriver.log没有修改NTFS的权限。Geckdriver.log通常创建在exe所在的同一个子目录中。根据我的经验,如果geckodriver.exe位于PATH中的任何可用位置,它都会自动找到。可能的解释是:脚本在C根文件夹中发现了一个geckodriver.exe,运行windows的任务用户没有足够的访问权限。(在这种情况下,管理员帐户仍然不够,您必须在文件中明确设置权限。(

最新更新