go-chrome
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"