如何修复:Chromedriver 页面立即关闭

我运行一个程序,尝试在 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 main


import (

    "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 标签时,我可以看到浏览器窗口在不到一秒的时间内打开和关闭。


预期输出:


start

Starting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 53489

Only local connections are allowed.

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

end

实际输出:


start

Starting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 53489

Only 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


侃侃无极
浏览 229回答 1
1回答

RISEBY

找到了解决方案;你需要重新安装 chromedriver。问题是由于 Chrome 一夜之间自动更新而发生的,并且不再与你之前版本的 chromedriver 一起使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go