halonium
A browser automation library written in Nim
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install halonium
choosenim install halonium
git clone https://github.com/halonium/halonium
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| halonium | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/halonium/halonium |
|---|---|
| Homepage | https://github.com/halonium/halonium |
| Registry Source | nimble_official |
README
halonium
A browser automation engine written in Nim translated from Python.
Status
This library is mostly converted from the Python selenium codebase as of ~Dec 2019. There are no automated tests yet, but most webdrivers are working from basic testing (see src/halonium/browser.nim for supported browsers). Some things might not work yet which automated testing would catch. Feel free to file issues :)
Usage
See examples for detailed usage.
import options, os
import halonium
proc main() =
var session = createSession(Chrome)
session.navigate("https://google.com")
let searchBar = "input[title=\"Search\"]"
let element = session.waitForElement(searchBar).get()
element.sendKeys("clowns", Key.Enter)
let firstATag = session.waitForElement("#search a").get()
firstATag.click()
sleep(1000)
session.stop()
main()