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

OSX High Sierra系统下Chrome Driver与Selenium运行故障求助

在MacBook Pro上解决ChromeDriver + Selenium运行问题

嘿,我来帮你搞定这个运行失败的问题!看你的代码用了RemoteWebDriver,如果只是在本地Mac上跑Chrome的话,其实没必要用这个,直接用ChromeDriver实例化会更简单,而且少踩很多坑。下面一步步给你梳理常见问题和解决办法:

1. 先确认ChromeDriver和Chrome版本完全匹配

这是最容易踩的坑!你Mac上装的Chrome版本必须和下载的ChromeDriver版本完全对应(比如Chrome是119.x,ChromeDriver就得用119.x的版本)。

  • 查看Chrome版本:打开Chrome,点击右上角三个点 → 「关于Google Chrome」,就能看到当前版本。
  • 下载对应版本的ChromeDriver:选适配Mac的安装包(注意区分Intel芯片和Apple Silicon芯片),下载后解压得到chromedriver文件。

2. 处理ChromeDriver的权限问题

Mac默认会拦截非官方签名的软件,下载完ChromeDriver后可能会提示“无法打开”,解决方法:

  • 打开「系统设置」→「隐私与安全性」,在“安全性”板块里找到关于ChromeDriver的提示,点击「允许」。
  • 或者用终端执行命令移除隔离属性:
xattr -d com.apple.quarantine /path/to/your/chromedriver

把/path/to/your/chromedriver换成你实际的ChromeDriver文件路径,比如/Users/xxx/Downloads/chromedriver。

3. 修正你的代码(本地运行版本)

如果只是本地跑Chrome,把RemoteWebDriver换成ChromeDriver,同时指定ChromeDriver路径(如果没加到系统PATH里的话)。调整后的代码如下:

package foobar;

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

public class Test {
    public static void main(String args[]) {
        // 替换成你自己的ChromeDriver文件路径,要是已经加到PATH里可以删掉这行
        System.setProperty("webdriver.chrome.driver", "/Users/yourusername/Downloads/chromedriver");
        
        WebDriver driver = new ChromeDriver();
        // 测试打开谷歌页面,验证是否正常运行
        driver.get("https://www.google.com");
        System.out.println("页面标题:" + driver.getTitle());
        // 记得最后关闭浏览器,避免进程残留
        driver.quit();
    }
}

4. 如果确实需要用RemoteWebDriver(比如连接Selenium Grid)

要是你是想连接Selenium Grid来运行,那得先启动ChromeDriver服务或者Grid Hub:

  • 先在终端启动ChromeDriver服务:
./chromedriver --port=4444
  • 然后修改代码里的URL和配置:
package foobar;

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class Test {
    public static void main (String args[]) throws MalformedURLException {
        DesiredCapabilities chromeCaps = DesiredCapabilities.chrome();
        // 连接本地启动的ChromeDriver服务
        WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), chromeCaps);
        
        driver.get("https://www.google.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

按照上面的步骤来,应该就能解决你的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:32:02