46982a1cac
That way, cancelling a context while checking the error is much simpler. The context data already holds onto the cancel func, so this requires no internal changes. This renders the Browser.Shutdown API obsolete, even though it doesn't do exactly the same. If we want Cancel to do a proper shutdown action before cancelling a browser context and killing the process, we could do that change within the cancel logic. |
||
---|---|---|
.github | ||
kb | ||
testdata | ||
.gitignore | ||
.travis.yml | ||
actions.go | ||
allocate_test.go | ||
allocate.go | ||
browser.go | ||
chromedp_test.go | ||
chromedp.go | ||
conn.go | ||
errors.go | ||
eval.go | ||
example_test.go | ||
go.mod | ||
go.sum | ||
input_test.go | ||
input.go | ||
js.go | ||
LICENSE | ||
nav_test.go | ||
nav.go | ||
query_test.go | ||
query.go | ||
README.md | ||
sel_test.go | ||
sel.go | ||
target.go | ||
util.go |
About chromedp
Package chromedp is a faster, simpler way to drive browsers supporting the Chrome DevTools Protocol in Go using the without external dependencies (ie, Selenium, PhantomJS, etc).
Installing
Install in the usual Go way:
go get -u github.com/chromedp/chromedp
Examples
Please see the examples project for more examples. Please refer to the GoDoc API listing for a summary of the API and Actions.
Resources
- chromedp: A New Way to Drive the Web - GopherCon SG 2017 talk
- Chrome DevTools Protocol - Chrome DevTools Protocol Domain documentation
- chromedp examples - various
chromedp
examples github.com/chromedp/cdproto
- GoDoc listing for the CDP domains used bychromedp
github.com/chromedp/cdproto-gen
- tool used to generatecdproto
github.com/chromedp/chromedp-proxy
- a simple CDP proxy for logging CDP clients and browsers
TODO
- Move timeouts to context (defaults)
- Implement more query selector options (allow over riding context timeouts)
- Contextual actions for "dry run" (or via an accumulator?)
- Network loader / manager
- Profiler