Skip to content

maxence-charriere/go-chrome

 
 

go-chrome

BSD-2-Clause Release Candidate Build status Coverage status Go Report Card Github issues Github pull requests GoDoc

This package aims to be a complete Chrome DevTools Protocol implementation. The primary use-case behind this project is interacting with headless Google Chrome in a container environment, but it should be appropriate for developing server side and desktop applications for any browser that supports the devtools protocol.

The API is fairly settled and basic code-coverage tests have been implemented but real-world testing is needed. Page.captureScreenshot and related calls are working well and are regularly used for validating the viability of code changes.

This implementation is based on the Tip-of-Tree documentation and may be prone to change. At some point stable versions will be implemented as well, hopefully beginning with v1.3.

Examples

There are a few small examples of how to use the framework API on the wiki and in the /_examples directory.

TODO

Contributions of any kind are very welcome!

  • Resolve race condition issues. Any assistance is appreciated!

  • Add framework API examples to the /_examples directory and wiki to showcase various ways people are using the package.

    Any example scripts showing various ways people are using the framework would be outstanding! The screenshot script and several others are available there.

  • Refactoring to implement standard interfaces where applicable and review current use of interfaces in the API. Some aren't needed at all and others are used to support test mocks.

  • Add more tests, particularly for error cases.

  • Add integrated tests to stablize package interactions raised in various issues.

If you would like to contribute but aren't sure how, take a look at the issue tracker. Issues are labeled as bug reports, feature requests, feedback requests, help wanted, etc.

There are also always tests that could be written. There are many examples of tests in the package.

Announcements

v1.0.0-rc5 released

v1.0.0-rc5 has been released.

  • Fixes a dep issue with transitive dependencies

Please open an issue to report any problems or suggest any changes.

[[constraint]]
  name = "github.com/mkenney/go-chrome"
  version = "1.0.0-rc5"

v1.0.0-rc4 released

v1.0.0-rc4 has been released.

  • Updates the log package
  • Cleans up and clarifies some log messages

Please open an issue to report any problems or suggest any changes.

[[constraint]]
  name = "github.com/mkenney/go-chrome"
  version = "1.0.0-rc4"

v1.0.0-rc3 released

v1.0.0-rc3 has been released.

  • Fixes an issue with an upstream dependency

Please open an issue to report any problems or suggest any changes.

[[constraint]]
  name = "github.com/mkenney/go-chrome"
  version = "1.0.0-rc3"

v1.0.0-rc2 released

v1.0.0-rc2 has been released.

  • Fixes an issue with zombie listen process
  • Fixes an issue with zombie stop process
  • Adds test coverage for socket timeouts

Please open an issue to report any problems or suggest any changes.

[[constraint]]
  name = "github.com/mkenney/go-chrome"
  version = "1.0.0-rc2"

v1.0.0-rc1 released

v1.0.0-rc1 has been released. Please open an issue to report any problems or suggest any changes.

[[constraint]]
  name = "github.com/mkenney/go-chrome"
  version = "1.0.0-rc1"

About

A golang library for interacting with the Chrome DevTools Protocol. https://chromedevtools.github.io/devtools-protocol/

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.9%
  • Shell 0.1%