如何使用Chrome无头带chromedp?

LeM*_*sel 1 testing google-chrome go chromedp

我正在使用chromedp,它具有专注于元素,填写文本等功能.Chrome 59具有跨平台无头支持.它允许在无头/服务器环境中运行Chrome.要通过DevTools远程调试协议使用,请使用--headless命令行标志启动普通的Chrome二进制文件(仅适用于Linux):

$ google-chrome --headless --disable-gpu --remote-debugging-port = 9222 https://www.google.fr

如何判断chromedp- 发送无头旗帜以及其他旗帜?

LeM*_*sel 6

找到它.我做

c, err := cdp.New(ctxt, cdp.WithRunnerOptions(
   runner.Flag("headless", true),
   runner.Flag("disable-gpu", true)))
if err != nil {
    log.Fatal(err)
}
Run Code Online (Sandbox Code Playgroud)


小智 6

在最新版本的 chromedp 中,默认情况下无头模式为 true,如果您想更改,请参考以下代码段

opts := append(chromedp.DefaultExecAllocatorOptions[:],
    chromedp.Flag("headless", false),
    chromedp.Flag("disable-gpu", false),
    chromedp.Flag("enable-automation", false),
    chromedp.Flag("disable-extensions", false),
)

allocCtx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
defer cancel()

// create context
ctx, cancel := chromedp.NewContext(allocCtx, chromedp.WithLogf(log.Printf))
defer cancel()

if err := chromedp.Run(ctx,
    chromedp.Navigate(`https://www.google.com/`),
); err != nil {
    log.Fatal(err)
}
Run Code Online (Sandbox Code Playgroud)