我开始在 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 机器上运行,但我真的很困惑😕
您如何运行该项目?我不确定是否“。”被视为您当前所在的文件夹,或项目二进制文件所在的文件夹。
你如何使用Windows机器,驱动器不是叫“chromedriver.exe”吗?
我想建议的两个好习惯是使用绝对路径而不是相对路径,以及使用路径库来挂载路径,而不是仅仅使用字符串。过去的 Windows 在使用斜杠获取路径时存在问题。
Executable()
函数对于获取二进制路径很有用。