7c8529b914
The reason that t.Parallel broke the tests was because the parent test must finish before the parallel subtests can start. So, we'd be closing the httptest server and removing the tmpfile before any of the parallel subtests even began. We could refactor this to make the subtests parallel, but they're only two, and the parent is already parallel, so it's not worth the effort. See the added comment. |
||
---|---|---|
.github | ||
kb | ||
testdata | ||
.gitignore | ||
.travis.yml | ||
actions.go | ||
allocate_test.go | ||
allocate.go | ||
browser.go | ||
chromedp_test.go | ||
conn.go | ||
context.go | ||
errors.go | ||
eval.go | ||
example_test.go | ||
go.mod | ||
go.sum | ||
handler.go | ||
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 | ||
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