selenium 仅从任务计划程序拒绝对geckodriver.log的权限

xyhw6mcr  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(202)

我的脚本使用Selify和Firefox创建了一个邮政跟踪服务网站,以获取我的物品的状态。每当有更新时,我都会让它给我发一封电子邮件。它从批处理文件和单独运行都很好,但从Windows任务调度器运行它会返回:

Traceback (most recent call last):
  File "C:\Users\Sandra\PycharmProjects\random\WhereIsMyItem.py", line 18, in <module>
    browser = webdriver.Firefox()
  File "C:\Users\Sandra\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 163, in __init__
    log_path=service_log_path)
  File "C:\Users\Sandra\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\service.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:\Users\Sandra\AppData\Local\Programs\Python\Python37-32\python.exe -i C:\Users\Sandra\PycharmProjects\random\WhereIsMyItem.py

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

5fjcxozz

5fjcxozz1#

该错误信息似乎与geckodriver.exe的位置有关。有一件事是肯定的,即运行Windows计划任务的用户在geckodriver.log文件上没有修改NTFS的权限。Geckodriver.log通常在exe所在的同一子目录中创建。根据我的经验,如果geckodriver.exe位于路径中的任何可用位置,则会自动找到它。可能的解释:该脚本在C根文件夹中发现了一个geckodriver.exe,其中运行Windows的任务用户没有足够的访问权限。(在这种情况下,管理员帐户仍然不够,您必须在文件中显式设置权限。)

相关问题