我开始在Golang学习 selenium ,并试图用它来抓取网页,但当我运行我的应用程序时,我得到了这个错误:
第一个月
这是我的代码片段:
// 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机器上工作,但我真的很困惑。
2条答案
按热度按时间uqcuzwp81#
你是如何运行这个项目的?我不确定“.”是否被认为是你所在的当前文件夹,或者是项目二进制文件所在的文件夹。
如果你用的是windows系统的机器,驱动器不会叫“chromedriver.exe”吗?
我想推荐的两个好的做法是使用绝对路径而不是相对路径,使用路径库来挂载路径,而不是仅仅使用字符串。Windows过去使用斜杠来获取路径有问题。
https://pkg.go.dev/path
Executable()
函数可以用来获取二进制路径。https://pkg.go.dev/os@master#Executable
lmyy7pcs2#
我通过下载驱动程序表单here并将其移动到项目目录中来解决这个问题。
您也可以添加驱动程序到
PATH
中,以便在项目中使用它。