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

使用Facebook php-webdriver配置Selenium时遇ChromeDriverService创建失败

解决Selenium + Facebook php-webdriver的ChromeDriverService创建失败问题

我来帮你排查这个报错问题,结合你已经完成的操作,咱们一步步梳理可能的原因和解决办法:

1. 先理清核心冲突:不要同时启动两个服务

你现在同时开了Selenium服务器(4444端口)和ChromeDriver(9515端口),这其实是两种完全不同的运行模式,大概率是这个混淆导致了报错。php-webdriver支持两种连接Chrome的方式,你只需要选其中一种:

  • 模式一:通过Selenium服务器中转:由Selenium统一管理ChromeDriver进程,不需要单独启动ChromeDriver
  • 模式二:直接连接ChromeDriver:不需要启动Selenium服务器,直接和本地ChromeDriver服务通信

2. 模式一:通过Selenium服务器运行的配置步骤

如果你想走Selenium服务器的路子,按以下调整:

  • 先关掉已经启动的ChromeDriver进程(9515端口的那个)
  • 确保Selenium服务器正常运行在4444端口
  • 检查你的PHP代码,初始化逻辑应该是这样:
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;

$driver = RemoteWebDriver::create(
    'http://localhost:4444/wd/hub',
    DesiredCapabilities::chrome()
);
  • 关键:要让Selenium能找到ChromeDriver
    • 把chromedriver.exe所在路径添加到系统PATH环境变量里;
    • 或者启动Selenium时直接指定ChromeDriver路径,比如:
      java -jar selenium-server-standalone.jar -Dwebdriver.chrome.driver="C:\你的项目路径\chromedriver.exe"
      

3. 模式二:直接连接ChromeDriver的配置步骤

如果想直接连ChromeDriver,那不需要Selenium服务器:

  • 关掉Selenium服务器(4444端口的进程)
  • 确保ChromeDriver正常启动,启动命令可以用:
    chromedriver.exe --port=9515
    
  • PHP代码要改成直接连接ChromeDriver的地址:
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;
use Facebook\WebDriver\Remote\DesiredCapabilities;

$options = new ChromeOptions();
// 可选:添加无头模式等参数,比如 $options->addArguments(['--headless']);
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);

$driver = RemoteWebDriver::create(
    'http://localhost:9515', // 注意这里没有/wd/hub后缀
    $capabilities
);

4. 必查的坑:版本匹配!

这是最容易忽略的点:ChromeDriver的版本必须和你本地安装的Chrome浏览器大版本一致!比如Chrome是118.x,ChromeDriver也要用118.x的版本。你可以在Chrome的设置->关于Chrome里看浏览器版本,再对应下载ChromeDriver。

其他小排查点

  • 权限问题:Windows下可以试试右键以管理员身份运行ChromeDriver,避免被杀毒软件拦截;
  • 路径问题:如果没把ChromeDriver加到PATH,一定要在启动命令或代码里明确指定它的完整路径,不然程序找不到。

你可以先选一种模式调整配置,优先检查版本匹配和服务的唯一性,应该就能解决这个报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:58:19