Я запускаю программу, которая пытается открыть веб-страницу с помощью 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