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

如何用Go结合Selenium启动带个人数据的默认Chrome浏览器

Go结合Selenium启动带个人数据的Chrome浏览器

要启动带有自身Cookie、书签等个人数据的Chrome浏览器,核心是在ChromeOptions中指定用户数据目录,而非使用Selenium默认的临时干净目录。以下是具体实现方案:

1. 找到你的Chrome用户数据目录

不同系统的默认路径如下:

  • Windows:C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data
  • macOS:/Users/<你的用户名>/Library/Application Support/Google/Chrome/User Data
  • Linux:/home/<你的用户名>/.config/google-chrome/User Data

2. 完整Go代码示例

package main

import (
	"fmt"
	"github.com/tebeka/selenium"
	"github.com/tebeka/selenium/chrome"
	"os"
)

func main() {
	// 配置ChromeDriver路径,根据系统自动适配后缀
	driverPath := "chromedriver"
	if os.Getenv("GOOS") == "windows" {
		driverPath += ".exe"
	}

	// 启动ChromeDriver服务
	service, err := selenium.NewChromeDriverService(driverPath, 4444)
	if err != nil {
		fmt.Printf("启动ChromeDriver失败: %v\n", err)
		return
	}
	defer service.Stop()

	// 构建Chrome选项
	caps := selenium.Capabilities{}
	// 替换为你自己的用户数据目录
	userDataDir := "C:\\Users\\YourUsername\\AppData\\Local\\Google\\Chrome\\User Data" // Windows示例
	// userDataDir := "/Users/YourUsername/Library/Application Support/Google/Chrome/User Data" // macOS示例
	// userDataDir := "/home/YourUsername/.config/google-chrome/User Data" // Linux示例

	chromeOpts := chrome.Options{
		Args: []string{
			"--user-data-dir=" + userDataDir,
			"--no-first-run",          // 跳过首次启动引导
			"--no-default-browser-check", // 跳过默认浏览器检查
			// 若需指定特定用户配置文件,添加 "--profile-directory=Profile 1"(默认是Default)
		},
	}
	caps.AddChrome(chromeOpts)

	// 连接并启动浏览器
	driver, err := selenium.NewRemote(caps, "http://localhost:4444/wd/hub")
	if err != nil {
		fmt.Printf("启动浏览器失败: %v\n", err)
		return
	}
	defer driver.Quit()

	// 验证:打开Google,检查是否自动登录你的账号
	if err := driver.Get("https://google.com"); err != nil {
		fmt.Printf("打开页面失败: %v\n", err)
		return
	}

	fmt.Println("浏览器已启动,加载了你的个人数据")
}

关键注意事项

  • ChromeDriver版本匹配:必须确保ChromeDriver的版本与本地安装的Chrome浏览器版本完全一致,否则会出现启动失败或兼容性问题。
  • 关闭现有Chrome进程:如果已有Chrome窗口在运行,启动带用户数据的实例可能会冲突,建议先关闭所有Chrome窗口再执行代码。
  • 路径格式正确:Windows路径需用双反斜杠\\或正斜杠/转义;Linux/macOS路径直接使用正斜杠即可。
  • 权限问题:Linux/macOS下需给ChromeDriver赋予可执行权限,执行命令:chmod +x chromedriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:01:12