Go to file
Daniel Martí 81a48280ef route all communication via the browser
Use a single websocket connection per browser, removing the need for an
extra websocket connection per target.

This is thanks to the Target.sendMessageToTarget command to send
messages to each target, and the Target.receivedMessageFromTarget event
to receive messages back.

The browser handles activity via a single worker goroutine, and the same
technique is used for each target. This means that commands and events
are dealt with in order, and we can do away with some complexity like
mutexes and extra go statements.
2019-04-01 12:18:16 +01:00
_example start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
.github add a simple issue template 2019-02-22 00:13:27 +01:00
kb start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
testdata Fixing issue when node is offscreen and more. 2017-02-27 19:17:36 +07:00
.gitignore Changing chromedp-gen => cdproto-gen 2018-02-16 07:23:02 +07:00
.travis.yml start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
actions.go route all communication via the browser 2019-04-01 12:18:16 +01:00
allocate_test.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
allocate.go route all communication via the browser 2019-04-01 12:18:16 +01:00
browser.go route all communication via the browser 2019-04-01 12:18:16 +01:00
chromedp_test.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
conn.go route all communication via the browser 2019-04-01 12:18:16 +01:00
context.go route all communication via the browser 2019-04-01 12:18:16 +01:00
errors.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
eval.go General code cleanup 2018-05-19 05:06:19 +07:00
go.mod fix build breakage with newer cdproto versions 2019-03-28 21:45:27 +00:00
go.sum fix build breakage with newer cdproto versions 2019-03-28 21:45:27 +00:00
handler.go route all communication via the browser 2019-04-01 12:18:16 +01:00
input_test.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
input.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
js.go Splitting repositories 2017-12-28 11:17:14 +07:00
LICENSE Minor code cleanup 2018-03-27 04:31:09 +07:00
nav_test.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
nav.go route all communication via the browser 2019-04-01 12:18:16 +01:00
query_test.go route all communication via the browser 2019-04-01 12:18:16 +01:00
query.go route all communication via the browser 2019-04-01 12:18:16 +01:00
README.md Changing Debugging => DevTools 2018-07-13 12:46:30 +07:00
sel_test.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00
sel.go route all communication via the browser 2019-04-01 12:18:16 +01:00
util.go start the chromedp v2 refactor 2019-04-01 12:17:28 +01:00

About chromedp Build Status Coverage Status

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

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