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

如何在Heroku上部署Selenium Java应用及配置chromedriver路径

Heroku Selenium Java 配置方案

1. Chromedriver路径配置原理

你添加的两个官方Buildpack安装完成后,会自动在Heroku运行环境中注入两个系统环境变量,无需手动查询路径:

  • CHROMEDRIVER_PATH:chromedriver可执行文件的完整路径
  • GOOGLE_CHROME_BIN:Google Chrome浏览器的可执行文件完整路径

2. 完整代码配置示例

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class SeleniumHerokuTask {
    public static void main(String[] args) {
        ChromeOptions options = new ChromeOptions();
        // 读取Heroku环境变量获取路径
        String chromeDriverPath = System.getenv("CHROMEDRIVER_PATH");
        String chromeBinPath = System.getenv("GOOGLE_CHROME_BIN");

        // 兼容本地开发场景:环境变量不存在时加载本地路径
        if (chromeDriverPath == null || chromeBinPath == null) {
            chromeDriverPath = "/your/local/chromedriver/path";
            chromeBinPath = "/your/local/chrome/binary/path";
        }

        // 绑定chromedriver路径
        System.setProperty("webdriver.chrome.driver", chromeDriverPath);
        // 指定Chrome浏览器二进制文件路径
        options.setBinary(chromeBinPath);
        
        // Headless模式及Heroku适配参数配置
        options.addArguments("--headless=new");
        options.addArguments("--disable-gpu");
        options.addArguments("--no-sandbox");
        options.addArguments("--disable-dev-shm-usage");
        options.addArguments("--remote-allow-origins=*");

        // 初始化Driver即可执行后续Selenium任务
        ChromeDriver driver = new ChromeDriver(options);
        // 业务逻辑示例
        driver.get("https://www.example.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

3. 关键参数说明

  • --headless=new:Chrome 112及以上版本推荐的新版headless模式,兼容性比旧版更高
  • --no-sandbox:Heroku容器环境默认无沙箱运行权限,必须添加否则Chrome启动失败
  • --disable-dev-shm-usage:解决Heroku容器共享内存配额不足导致的Chrome崩溃问题
  • --disable-gpu:适配无GPU的服务器环境,避免渲染相关报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:48:04