Skip to content
/ chromedp Public
forked from chromedp/chromedp

A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.

License

Notifications You must be signed in to change notification settings

Oiyoo/chromedp

This branch is 216 commits behind chromedp/chromedp:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9fff3ea · Apr 17, 2020
Apr 17, 2020
Oct 9, 2019
Jun 10, 2019
Apr 17, 2020
Aug 15, 2019
Oct 13, 2019
Oct 18, 2019
Jan 12, 2020
Apr 30, 2019
Apr 30, 2019
Apr 17, 2020
Jan 12, 2020
Apr 17, 2020
Feb 1, 2020
Oct 13, 2019
Jul 2, 2019
Jun 17, 2019
Apr 25, 2019
Aug 15, 2019
Jun 12, 2019
Jan 6, 2020
Apr 17, 2020
Apr 17, 2020
Jan 16, 2020
Jan 16, 2020
Aug 27, 2019
Jul 2, 2019
Jun 27, 2019
Mar 27, 2020
Jan 16, 2020
Feb 1, 2020
Oct 13, 2019
Jan 6, 2020

Repository files navigation

About chromedp GoDoc

Package chromedp is a faster, simpler way to drive browsers supporting the Chrome DevTools Protocol in Go without external dependencies (like Selenium or PhantomJS).

Installing

Install in the usual Go way:

go get -u github.com/chromedp/chromedp

Examples

Refer to the GoDoc page for the documentation and examples. Additionally, the examples repository contains more complex examples.

Frequently Asked Questions

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 with Run 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.

Resources

About

A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%