rattananen / webdriver
PHP library that implement W3C WebDriver protocol.
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 2
pkg:composer/rattananen/webdriver
Requires
- php: >=8.1
- ext-intl: *
- psr/http-message: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.4.5
- phpunit/phpunit: ^10
- symfony/process: ^6.2
- symfony/var-dumper: ^6.2
Suggests
- guzzlehttp/guzzle: Client package for default client.
- symfony/process: Process handler for remote end.
This package is auto-updated.
Last update: 2026-01-08 18:24:00 UTC
README
This library is implementation for W3C WebDriver protocol. Currently, support only ChromeDriver but there is plan to support other in future.
Features
- Use modern/forgotten programming techniques to make easier for development application by this library.
- IDE friendly.
- Implement all W3C WebDriver Endpoints mean you can control browser with fully protocol's capacity.
Requirement
- PHP 8.1+
- Google Chrome 106+
- ChromeDriver version that compactible with Google Chrome
Installation
Best way is install via composer
composer require rattananen/webdriver
⚠️ This package has optional dependencies. They will missing when you install composer with --no-dev parameter. You can use composer require package/missing to install them if need.
Examples
See examples.md.
Know issues
- Firefox find element for shadow root doesn't implement yet (geckodriver 0.32.2)
- Firefox doesn't implement accessibility endpoints (computed role, computed label) for element yet (geckodriver 0.32.2)
- Firefox create new session is slow (geckodriver 0.32.2)
- GoogleChrome return alert message
{Alert text :in unhandle alert reponse when alert without message argument (ChromeDriver 106.0.5249.61) - GoogleChrome duration in scroll action does wrong behevior. It's waiting time for return response instead of time for scrolling. (ChromeDriver 106.0.5249.61)
Contributing
See CONTRIBUTING.md.