我开始在Golang学习selenium,并试图用它来刮网页,但当我运行我的应用程序时,我得到了这个错误:

error:exec: "./chromedriver": file does not exist exit status 1

以下是我的代码片段:

 // initialize a Chrome browser instance on port 4444
 service, err := selenium.NewChromeDriverService("./chromedriver", 4444)
 if err != nil {
  log.Fatal("Error:", err)
 }
 defer service.Stop()

 // configure the browser options
 caps := selenium.Capabilities{}
 caps.AddChrome(chrome.Capabilities{Args: []string{
  "--headless-new", // comment out this line for testing
 }})

// create a new remote client with the specified options
 driver, err := selenium.NewRemote(caps, "")

 if err != nil {
  log.Fatal("Error:", err)
 }

 // maximize the current window to avoid responsive rendering
 err = driver.MaximizeWindow("")
 if err != nil {
  log.Fatal("Error:", err)
 }

请注意,我使用的是Windows机器.

我认为它可以在linux机器上运行,但我真的搞不懂😕.

推荐答案

我通过下载驱动程序表单here并将其移动到项目目录中解决了这个问题.

您还可以将驱动添加到PATH,以便在项目中使用它.

Go相关问答推荐

Golang regexpp:获取带有右括号的单词

Go Net/http路由

在Golang中,@LATEST和@UPGRADE特殊查询有什么不同?

使用!NOT运算符的Golang文本/模板多个条件

如何将Golang测试用例的测试覆盖率值与特定阈值进行比较

golang gin 获取 cookie json

使用 Go 根据 /etc/shadow 文件中的散列密码验证密码

加密/椭圆:try 在无效点上进行操作

如何将元素从一个切片移动到另一个切片

如何在切片增长时自动将切片的新元素添加到函数参数

速率限制特定端点

从动态输入中提取字符串,其中部分字符串可能不存在

如何将文件上传到 Google Drive,并与使用服务帐户和 Golang 的任何人共享

合并几千万文件最快的方法是什么

golang jwt.MapClaims 获取用户ID

正确编码 JWT

gopls 为 github.com/Shopify/sarama 返回错误gopls: no packages returned: packages.Load error

如何从应用程序调用谷歌云身份 API

在 Go 泛型中,如何对联合约束中的类型使用通用方法?

空接口与泛型接口有何不同?