我开始用Go语言研究Selenium,但没有找到太多信息。 我正在使用 github.com/tebeka/selenium。
在 Python 中,我只需安装 (pip install selenium) 和这样的代码即可打开浏览器:
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'./chromedriver.exe')
driver.get('http://www.hp.com')
我如何在 Go 中做同样的事情? 我正在尝试这个,但它不会像 Python 那样打开浏览器:
package main
import (
"fmt"
"github.com/tebeka/selenium"
)
func main() {
selenium.ChromeDriver("./chromedriver.exe")
caps := selenium.Capabilities{"browserName": "chrome"}
selenium.NewRemote(caps, fmt.Sprintf("http://www.google.com", 80))
}
有没有一种简单的方法可以像 3 行 Python 代码一样在我的机器中打开浏览器? 谢谢!
在 python selenium 中,它会自动启动浏览器,而 Golang 不会。您必须显式运行浏览器(服务)。这是一个将 Chromedriver 与 Golang 结合使用的简单示例。
package main
import (
"github.com/tebeka/selenium"
"github.com/tebeka/selenium/chrome"
)
func main() error {
// Run Chrome browser
service, err := selenium.NewChromeDriverService("./chromedriver", 4444)
if err != nil {
panic(err)
}
defer service.Stop()
caps := selenium.Capabilities{}
caps.AddChrome(chrome.Capabilities{Args: []string{
"window-size=1920x1080",
"--no-sandbox",
"--disable-dev-shm-usage",
"disable-gpu",
// "--headless", // comment out this line to see the browser
}})
driver, err := selenium.NewRemote(caps, "")
if err != nil {
panic(err)
}
driver.Get("https://www.google.com")
}