Package chromedp is a faster, simpler way to drive browsers supporting the Chrome DevTools Protocol in Go without external dependencies (like Selenium or PhantomJS).
Install in the usual Go way:
go get -u github.com/chromedp/chromedp
Refer to the GoDoc page for the documentation and examples. Additionally, the examples repository contains more complex examples.
I can't see any Chrome browser window
By default, Chrome is run in headless mode. See DefaultExecAllocatorOptions
, and
an example
to override the default options.
I'm seeing "context canceled" errors
When the connection to the browser is lost, chromedp
cancels the context, and
it may result in this error. This occurs, for example, if the browser is closed
manually, or if the browser process has been killed or otherwise terminated.
Chrome exits as soon as my Go program finishes
On Linux, chromedp
is configured to avoid leaking resources by force-killing
any started Chrome child processes. If you need to launch a long-running Chrome
instance, manually start Chrome and connect using RemoteAllocator
.
Executing an action without
Run
results in "invalid context"
By default, a chromedp
context does not have an executor, however one can be
specified manually if necessary; see issue #326
for an example.
I can't use an
Action
withRun
because it returns many values
Wrap it with an ActionFunc
:
chromedp.Run(ctx, chromedp.ActionFunc(func(ctx context.Context) error {
_, err := domain.SomeAction().Do(ctx)
return err
}))
I want to use chromedp on a headless environment
The simplest way is to run the Go program that uses chromedp inside the
chromedp/headless-shell image. That image contains headless-shell
, a
smaller headless build of Chrome, which chromedp
is able to find out of the
box.
chromedp
examplesgithub.com/chromedp/cdproto
- GoDoc listing for the CDP domains used by chromedp
github.com/chromedp/cdproto-gen
- tool used to generate cdproto
github.com/chromedp/chromedp-proxy
- a simple CDP proxy for logging CDP clients and browsers此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。