Как исправить: страница Chromedriver немедленно закрывается - PullRequest
1 голос
/ 31 октября 2019

Я запускаю программу, которая пытается открыть веб-страницу с помощью agouti / chromedriver на ходу, но как только она вызывает новую страницу, она закрывает страницу. Последующие попытки доступа к странице приводят к ошибке «неверный идентификатор сеанса». Как я могу заставить страницу оставаться открытой?

Это использует Go (версия 1.13.3 darwin / amd64) на Mac (версия 10.14.5) с 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

1 Ответ

0 голосов
/ 01 ноября 2019

Я нашел решение;Оказывается, мне нужно было переустановить chromedriver. Просматривая мои журналы, проблема возникла из-за того, что Chrome автоматически обновлялся в одночасье и больше не работал с моей предыдущей версией chromedriver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...