使用Windows任务计划运行Selenium脚本遇geckodriver.log权限错误求助
解决Selenium+GeckoDriver通过Windows任务计划运行时的权限错误
出现PermissionError: [Errno 13] Permission denied: 'geckodriver.log'的核心原因是:Windows任务计划默认工作目录并非你的脚本所在路径,GeckoDriver尝试在无写入权限的系统目录生成日志文件,导致权限拒绝。以下是具体解决方法:
方法1:显式指定GeckoDriver日志路径
修改webdriver.Firefox()的初始化代码,强制日志文件生成在你有写入权限的目录(比如脚本所在目录):
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import selenium.webdriver.support.ui as ui from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait import subprocess import json with open('D:\\PythonScripts\\LumiWeave\\config.json') as f: config = json.load(f) # 显式指定日志文件路径 log_path = r"D:\PythonScripts\LumiWeave\geckodriver.log" driver = webdriver.Firefox(service_log_path=log_path) driver.get("https://www.meeba.co.il/home") wait = ui.WebDriverWait(driver, 20)
方法2:修改任务计划的工作目录
- 打开任务计划程序,找到你的定时任务
- 右键任务 → 属性 → 切换到「操作」选项卡
- 选中启动bat文件的操作 → 点击「编辑」
- 在「起始于(可选)」输入框中,填入bat文件和Python脚本所在的完整路径(如
D:\PythonScripts\LumiWeave) - 保存设置后重新运行任务
方法3:提升任务运行权限
- 在任务属性的「常规」选项卡中,勾选「使用最高权限运行」
- 若需要后台运行,可勾选「不管用户是否登录都要运行」,并确保所选用户账户对目标目录有写入权限
方法4:手动配置日志文件权限
- 在脚本目录手动创建
geckodriver.log文件 - 右键文件 → 属性 → 「安全」选项卡
- 为运行任务的用户账户添加「写入」权限
内容的提问来源于stack exchange,提问作者Yonatan Parnes
相关产品推荐
相关产品推荐

