我運行一個程序,嘗試在 go 中使用 agouti/chromedriver 打開網頁,但是一旦它調用新頁面,它就會關閉該頁面。隨后嘗試訪問該頁面會導致“無效會話 ID”錯誤。如何讓頁面保持打開狀態?這是在 Mac(版本 10.14.5)上使用 Go(版本 1.13.3 darwin/amd64)以及 chromedriver(版本 76.0.3809.68)。我也安裝了最新版本的 Google Chrome。我嘗試更新 chrome 和 agouti,但結果沒有改善。我已經退出并重新啟動Chrome,卸載并重新安裝Chrome,并重新啟動我的計算機,但這些都不起作用。我已經使用了幾個 chromedriver 選項(如下所示)運行,并且在沒有它們的情況下運行。我嘗試過在函數之間使用(見下文)和不使用 time.Sleep() 。我的常規 Chrome 瀏覽器運行良好。package mainimport ( "fmt" "time" "github.com/sclevine/agouti")func main() { driver := agouti.ChromeDriver( agouti.ChromeOptions("args", []string{ "--headless", "--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--whitelisted-ips", "--detach", }), agouti.Debug, ) fmt.Println("start") err := driver.Start() if err != nil { fmt.Println("Error starting driver: " + err.Error()) return } page, err := driver.NewPage(agouti.Browser("chrome")) if err != nil { fmt.Println("Error creating new page: " + err.Error()) return } time.Sleep(1 * time.Second) err = page.Navigate("https://www.google.com") if err != nil { fmt.Println("Error navigating to job post link: " + err.Error()) return } time.Sleep(1 * time.Second) fmt.Println("end")}當不使用 --headless 標簽時,我可以看到瀏覽器窗口在不到一秒的時間內打開和關閉。預期輸出:startStarting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 53489Only local connections are allowed.Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.end實際輸出:startStarting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 53489Only local connections are allowed.Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.Error navigating to job post link: failed to navigate: request unsuccessful: invalid session id
1 回答

RISEBY
TA貢獻1856條經驗 獲得超5個贊
找到了解決方案;你需要重新安裝 chromedriver。問題是由于 Chrome 一夜之間自動更新而發生的,并且不再與你之前版本的 chromedriver 一起使用。
- 1 回答
- 0 關注
- 287 瀏覽
添加回答
舉報
0/150
提交
取消