This folder contains a variety of code examples for working with
chromedp
. The godoc page contains a number of simple examples which
are generally self-contained, while this repository holds more complex examples
which tend to require internet access or external components.
Please note that when the chromedp
package is being rewritten, these examples
may break. Additionally, since these examples are written for specific websites,
there is a good chance that the current selectors, etc break after the website
they are written against changes.
While every effort is made to ensure that these examples are kept up-to-date, it is expected that the examples made available here may occassionally break.
To file issues, use the chromedp's issue tracker.
You can build and run these examples in the usual Go way:
# retrieve examples
$ go get -u -d github.com/chromedp/examples
# run example <prog>
$ go run $GOPATH/src/github.com/chromedp/examples/<prog>/main.go
# build example <prog>
$ go build -o <prog> github.com/chromedp/examples/<prog> && ./<prog>
The following examples are currently available:
Example | Description |
---|---|
click | use a selector to click on an element |
cookie | set a HTTP cookie on requests |
emulate | emulate a specific device |
eval | evaluate javascript and retrieve the result |
headers | set a HTTP header on requests |
keys | send key events to an element |
logic | more complex logic beyond simple actions |
remote | connect to an existing chromium instance using chromedp.NewRemoteAllocator |
screenshot | take a screenshot of a specific element and of the entire browser viewport |
submit | fill out and submit a form |
text | extract text from a specific element |
upload | upload a file on a form |
visible | wait until an element is visible |
Pull Requests and contributions to this project are encouraged and greatly
welcomed! The chromedp
project always needs new examples, and needs talented
developers (such as yourself!) to submit fixes for the existing examples when
they break (for example, when a website's layout/HTML changes).