Linux下chrome 安裝
下載地址:https://www.google.com/chrome/?platform=linux
安裝:
查看版本:
chromedriver安裝
注意:chrome和 chromedriver 版本對應。不然會出現版本不兼容的情況哦!
加載selenium包
golang代碼:
package main import ( "fmt" "log" "github.com/tebeka/selenium" "github.com/tebeka/selenium/chrome" ) // StartChrome 啟動谷歌瀏覽器headless模式 func StartChrome() { opts := []selenium.ServiceOption{} caps := selenium.Capabilities{ "browserName": "chrome", } // 禁止加載圖片,加快渲染速度 imagCaps := map[string]interface{}{ "profile.managed_default_content_settings.images": 2, } chromeCaps := chrome.Capabilities{ Prefs: imagCaps, Path: "", Args: []string{ "--headless", // 設置Chrome無頭模式 "--no-sandbox", "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7", // 模擬user-agent,防反爬 }, } caps.AddChrome(chromeCaps) // 啟動chromedriver,端口號可自定義 service, err := selenium.NewChromeDriverService("./chromedriver", 9516, opts...) if err != nil { log.Printf("Error starting the ChromeDriver server: %v", err) } // 調起chrome瀏覽器 webDriver, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", 9516)) if err != nil { panic(err) } //目標網站 targeUrl = "https://www.toutiao.com/i6846744256028082696" // 導航到目標網站 err = webDriver.Get(targeUrl) if err != nil { panic(fmt.Sprintf("Failed to load page: %s\n", err)) } log.Println(webDriver.GetCookies()) defer service.Stop() // 停止chromedriver defer webDriver.Quit() // 關閉瀏覽器 } func main() { StartChrome() }