This document outlines planned features and improvements for the Vibium Go Client SDK.
- XPath selector support (
FindByXPath) - Text-based selectors (
FindByText,FindByRole) - Chained selectors (find within element)
-
WaitForSelector- Wait for element to appear/disappear -
WaitForFunction- Wait for JavaScript condition -
WaitForNetworkIdle- Wait for network activity to settle
-
Press(key)- Press keyboard key (Enter, Escape, Tab, etc.) -
KeyboardShortcut(keys)- Press key combinations (Ctrl+A, Cmd+C) -
Hover()- Mouse hover over element -
DragAndDrop(target)- Drag element to target
-
SwitchToFrame(selector)- Switch to iframe context -
SwitchToMainFrame()- Return to main frame -
Frames()- List available frames
-
NewTab()- Open new browser tab -
Tabs()- List open tabs -
SwitchToTab(index)- Switch between tabs -
CloseTab()- Close current tab
-
GetCookies()- Get all cookies -
SetCookie(cookie)- Set a cookie -
DeleteCookies()- Clear cookies
-
OnRequest(handler)- Intercept outgoing requests -
OnResponse(handler)- Intercept incoming responses -
Mock(url, response)- Mock network responses -
Block(patterns)- Block requests matching patterns
-
Upload(selector, path)- Upload file to input -
Download(url)- Download file -
SetDownloadPath(path)- Configure download directory
-
LocalStorage()- Access localStorage -
SessionStorage()- Access sessionStorage -
ClearStorage()- Clear browser storage
-
PDF()- Save page as PDF -
PDFOptions- Configure page size, margins, headers/footers
-
StartRecording()- Record browser session -
StopRecording()- Stop and save recording
-
StartTracing()- Start performance trace -
StopTracing()- Stop and export trace
- GitHub Actions workflow for CI
- Automated integration tests in CI
- Code coverage reporting
- GoReleaser for binary releases
- MkDocs documentation site
- More code examples
- Tutorial: Web scraping
- Tutorial: Form automation
- Tutorial: Testing with Vibium
- Integration tests for additional sites
- Performance benchmarks
- Fuzz testing for edge cases
Contributions are welcome! If you'd like to work on any of these items:
- Open an issue to discuss the feature
- Fork the repository
- Create a feature branch
- Submit a pull request
See CONTRIBUTING.md for details.