An Elixir client library implementing the WebDriver protocol for browser automation with PhantomJS, Firefox, Chrome, and remote servers.
Elixir-WebDriver is a client library that implements the WebDriver JSON wire protocol, enabling browser automation from Elixir applications. It provides a structured way to control browsers programmatically for testing, scraping, or automation tasks by leveraging Erlang/OTP's concurrency model for reliability.
Elixir developers who need to automate browser interactions for tasks like end-to-end testing, web scraping, or UI automation within an Elixir/OTP application ecosystem.
Developers choose this library for its idiomatic Elixir API and integration with Erlang/OTP supervision trees, offering robust process management and reliability compared to raw protocol clients. It supports multiple browsers and remote WebDriver servers, making it versatile for existing Selenium grids or cloud services.
WebDriver client for Elixir.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports PhantomJS, Firefox, ChromeDriver, and remote servers like Selenium Grid, enabling diverse automation setups as outlined in the README.
Browsers run under Erlang/OTP supervision trees, providing built-in process management and fault tolerance for stable automation in concurrent applications.
Offers an idiomatic Elixir interface with config records and session-based commands, making it intuitive for developers familiar with the language ecosystem.
Can connect to external WebDriver servers, allowing seamless use with existing Selenium grids or cloud-based testing services for distributed workflows.
Last significant update was in 2015, with support only up to Elixir 1.1.1, likely causing compatibility issues with modern Elixir versions and browsers.
The README admits missing support for touch events, local storage, and session storage, limiting functionality for full-featured web testing and automation.
Windows support is described as rudimentary and likely non-functional, restricting use to Unix-like systems and hindering cross-platform development.
Requires manual installation and management of browser drivers like PhantomJS or ChromeDriver, adding setup overhead compared to all-in-one solutions.