使用selenium-side-runner运行.side文件时Chrome启动异常的求助
问题解决:Selenium Side Runner执行报错及自动执行方案
一、修复selenium-side-runner命令行执行错误
你的报错核心是Chrome无头启动时缺少必要参数,且.side文件的环境配置格式错误,导致参数未生效。按以下步骤修复:
1. 修正.side文件的环境配置
将你分开的两个Chrome能力配置合并为一个,添加关键启动参数:
"environments": [ { "id": "chrome", "capabilities": [ { "browserName": "chrome", "goog:chromeOptions": { "binary": "/usr/bin/chromium-browser", "args": [ "--no-sandbox", "--headless=new", "--disable-dev-shm-usage", "--remote-debugging-port=9222" ] } } ] } ]
参数说明:
--no-sandbox:解决非root用户运行的权限限制--headless=new:启用新版无头模式,兼容性更优--disable-dev-shm-usage:避免临时内存空间不足导致浏览器崩溃--remote-debugging-port=9222:指定调试端口,解决DevToolsActivePort file doesn't exist问题
2. 匹配ChromeDriver与Chromium版本
运行chromium-browser --version查看浏览器版本,下载对应版本的ChromeDriver,确保其路径被系统PATH包含,或运行时指定路径:
selenium-side-runner --driver-path /usr/local/bin/chromedriver script.side
3. Crontab定时任务的额外配置
在crontab中添加任务时,需指定完整环境变量并记录日志:
PATH=/usr/local/bin:/usr/bin:/bin 0 9 * * * selenium-side-runner --driver-path /usr/local/bin/chromedriver /home/user/script.side >> /var/log/selenium_auto.log 2>&1
- 第一行指定
PATH,确保node、chromedriver等命令能被找到 - 最后部分将输出写入日志,方便排查问题
二、无需命令行:Chrome扩展实现每日自动执行
如果不想用命令行,可直接通过Chrome扩展实现自动化定时任务:
- AutoClicker AutoFill:支持录制操作流程,内置定时任务功能,完全在浏览器内运行,无需额外环境配置。
- iMacros for Chrome:经典自动化工具,录制宏后,付费版支持直接设置定时执行;免费版可配合浏览器定时刷新插件间接实现(稳定性略差)。
- Task Scheduler for Chrome:专注于浏览器内任务调度,可触发录制的操作脚本,支持每日定时执行。
以AutoClicker AutoFill为例,操作流程:
- 安装扩展后,点击录制按钮,完成你的操作步骤
- 进入扩展的「定时任务」页面,设置每日执行的具体时间
- 保存设置,扩展会在指定时间自动触发录制的操作
内容的提问来源于stack exchange,提问作者Anja
相关产品推荐
相关产品推荐

