如何在 chromedp 中使用 Chrome headless?
How to use Chrome headless with chromedp?
我正在使用 chromedp,它具有专注于元素、填充文本等功能。Chrome 59 具有跨平台无头支持。它允许 运行 Chrome 在 headless/server 环境中。要通过 DevTools 远程调试协议使用,请使用 --headless 命令行标志启动一个正常的 Chrome 二进制文件(Linux-目前仅):
$ google-chrome --headless --disable-gpu --remote-debugging-port=9222 https://www.google.fr
我如何告诉 chromedp
发送 --headless 标志以及其他标志?
找到它。我愿意
c, err := cdp.New(ctxt, cdp.WithRunnerOptions(
runner.Flag("headless", true),
runner.Flag("disable-gpu", true)))
if err != nil {
log.Fatal(err)
}
在最新版本的 chromedp 中,默认情况下 headless 模式是 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)
}
我正在使用 chromedp,它具有专注于元素、填充文本等功能。Chrome 59 具有跨平台无头支持。它允许 运行 Chrome 在 headless/server 环境中。要通过 DevTools 远程调试协议使用,请使用 --headless 命令行标志启动一个正常的 Chrome 二进制文件(Linux-目前仅):
$ google-chrome --headless --disable-gpu --remote-debugging-port=9222 https://www.google.fr
我如何告诉 chromedp
发送 --headless 标志以及其他标志?
找到它。我愿意
c, err := cdp.New(ctxt, cdp.WithRunnerOptions(
runner.Flag("headless", true),
runner.Flag("disable-gpu", true)))
if err != nil {
log.Fatal(err)
}
在最新版本的 chromedp 中,默认情况下 headless 模式是 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)
}