selenium 0.0.4
Browser automation with WebDriver lifecycle, element interaction, JavaScript execution, and multi-browser support.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
This package provides sub packages which can be used individually:
selenium:webdriver - WebDriver client: bridge, driver, browser capabilities, elements, and roots.
selenium:grid - Selenium Grid server scaffolding: hub, node, models, and routing.
Selenium
| OS | Chrome | Firefox | Edge | Safari |
|---|---|---|---|---|
| Ubuntu | ||||
| macOS | ||||
| Windows |
Selenium is a native D implementation of the W3C WebDriver protocol. It drives Chrome, Firefox, Edge, and Safari directly over HTTP, with no external language bindings or C wrappers. The API often mirrors the Selenium Ruby bindings, so it should be familiar to existing Selenium users.
Installation
Add the complete package or a specific subpackage with DUB:
dub add selenium
dub add selenium:webdriver
dub add selenium:grid
| Package | Contents |
|---|---|
selenium | WebDriver and Grid modules. |
selenium:webdriver | Bridge, driver, browser capabilities, elements, roots, cookies, and logging. |
selenium:grid | Grid models, hub and node scaffolding, and in-process HTTP routing. |
The Grid package currently provides models and routing primitives, not a live HTTP server or a complete session distributor.
Quick Start
Install the browser and matching WebDriver executable, then ensure the driver is on PATH:
| Browser | WebDriver executable |
|---|---|
| Chrome | chromedriver |
| Firefox | geckodriver |
| Edge | msedgedriver |
| Safari | safaridriver |
import selenium;
import std.stdio : writeln;
Driver driver = Driver.start(new Chrome());
scope (exit) driver.stop();
driver.go("https://example.com");
writeln(driver.title);
Driver.start() can instead select the first known WebDriver executable found on PATH. The library does not download browsers or drivers.
Documentation
Roadmap
WebDriver protocol
- [ ] Fix Safari support (see integration tests)
- [ ] Asynchronous script execution (
POST /execute/async) - [ ] Actions API, including perform and release
- [ ] Alert text, accept, dismiss, and prompt input commands
- [ ] Computed accessibility role and label accessors
- [ ] Page printing (
POST /print) - [ ] First-class timeout retrieval and updates
- [ ] Full window rectangle support, including window position
Client API
- [ ] Explicit waits with reusable expected conditions
- [ ] Special keys such as Enter, Tab, Escape, and arrows for
sendKeys - [ ] Convenience locators such as id, name, and class name
- [ ] Element display state (
isDisplayed) - [ ] Select-element helper
Grid
- [ ] Live HTTP transport for hubs and nodes
- [ ] Node registration, heartbeat, draining, and removal
- [ ] Capability matching, session allocation, and command forwarding
Quality
- [ ] Grid server and client (multi-session routing) tests
- [ ] W3C WebDriver compliance tests
- [ ] More than 70% code coverage for every source file
License
Selenium is licensed under Apache-2.0.
- 0.0.4 released 16 hours ago
- cetio/selenium
- Apache-2.0
- Copyright © 2026, cet
- Authors:
- Sub packages:
- selenium:webdriver, selenium:grid
- Dependencies:
- requests
- Versions:
-
Show all 5 versions0.0.4 2026-Sep-10 0.0.3 2026-Sep-08 0.0.2 2026-Jun-28 0.0.1 2026-Jun-28 ~master 2026-Sep-10 - Download Stats:
-
-
0 downloads today
-
3 downloads this week
-
3 downloads this month
-
4 downloads total
-
- Score:
- 0.2
- Short URL:
- selenium.dub.pm