You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 110下Python Selenium无头模式下载及窗口尺寸问题

Chrome 110+ 无头模式下任务计划启动时窗口尺寸参数失效的解决办法

问题背景

已将Chrome更新至110.0.5481.104,替换--headless为--headless=new解决了下载异常问题,但--window-size=1920,1080和--start-maximized参数仅在任务计划程序未登录启动批处理时不生效,导致页面元素无法点击,手动启动脚本则正常。

解决方案

1. 强制锁定无头模式下的窗口与视口尺寸

无头新模式下--start-maximized参数可能被忽略,直接用以下参数组合强制固定尺寸,避免环境差异影响:

from selenium import webdriver

options = webdriver.ChromeOptions()
# 替换旧无头参数
options.add_argument("--headless=new")
# 强制窗口尺寸
options.add_argument("--window-size=1920,1080")
# 明确设置视口大小(关键,无头模式下需单独指定)
options.add_argument("--viewport-size=1920,1080")
# 禁用可能干扰尺寸的UI特性
options.add_argument("--disable-features=TranslateUI")
options.add_argument("--force-device-scale-factor=1")

driver = webdriver.Chrome(options=options)

2. 调整任务计划程序的运行配置

未登录时任务的运行环境和用户桌面会话不同,需调整权限和运行模式:

  • 打开任务计划程序,找到目标任务,右键进入属性
  • 「常规」选项卡:勾选「不管用户是否登录都要运行」,同时勾选「使用最高权限运行」
  • 「设置」选项卡:取消勾选「如果计算机使用电池运行,则停止任务」(台式机可忽略)
  • 「操作」选项卡:确认「起始于」为你的脚本所在目录,避免相对路径错误

3. 明确指定Chrome与ChromeDriver路径

任务计划的环境变量可能和用户登录时不一致,写死路径避免版本或路径错误:

  • 批处理文件中指定Chrome路径:
@echo off
set "CHROME_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe"
set "PATH=%CHROME_PATH%;%PATH%"
python your_script.py
  • Python代码中指定ChromeDriver路径:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path=r"C:\your\path\to\chromedriver.exe")
options = webdriver.ChromeOptions()
# 其他参数设置
driver = webdriver.Chrome(service=service, options=options)

4. 临时添加无沙箱参数(测试用)

未登录会话下可能触发沙箱限制,临时添加--no-sandbox参数测试(注意:生产环境慎用,有安全风险):

options.add_argument("--no-sandbox")

总结

优先尝试强制窗口视口尺寸和调整任务计划权限,这两个是解决此类环境差异问题最有效的方向。如果仍有问题,可检查任务计划的日志输出,确认是否有路径或权限相关的报错。

内容的提问来源于stack exchange,提问作者visual2k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:25:29