Chromedriver 不存在(golang selenium)

问题描述 投票:0回答:1

我开始在 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 机器上运行,但我真的很困惑😕

go selenium-webdriver web-scraping
1个回答
0
投票

您如何运行该项目?我不确定是否“。”被视为您当前所在的文件夹,或项目二进制文件所在的文件夹。

你如何使用Windows机器,驱动器不是叫“chromedriver.exe”吗?

我想建议的两个好习惯是使用绝对路径而不是相对路径,以及使用路径库来挂载路径,而不是仅仅使用字符串。过去的 Windows 在使用斜杠获取路径时存在问题。

https://pkg.go.dev/path

Executable()
函数对于获取二进制路径很有用。

https://pkg.go.dev/os@master#可执行文件

© www.soinside.com 2019 - 2024. All rights reserved.