Minimal Selenium helpers that stay out of your way. Use any test runner (pytest, unittest, behave, raw scripts), keep full WebDriver control, and get convenience actions/assertions without a framework telling you how to structure tests.
- Minimal & composable: Thin wrapper over Selenium; mix our helpers with native WebDriver any time.
- Framework-agnostic: Works with pytest, unittest, behave, custom runners, or plain scripts.
- Quick wins: Smart waits, handy finders, assertions, PDF helpers, and data savers ready to use.
- Customizable: Bring your own browser options, config via env or YAML, extend actions/assertions as needed.
- Standards-based: Built on Selenium WebDriver (W3C).
pip install vigilant-kit
export SELENIUM_BROWSER=chrome SELENIUM_HOST=local BASE_URL=https://example.comfrom vigilant.driver.vigilant_driver import VigilantDriver
def test_login():
browser = VigilantDriver()
browser.get_page("/login") \
.fill_form({"#email": "user@example.com", "#password": "secret"}) \
.click("#submit")
browser.assertions.see_text("Welcome")
browser.quit()Use your runner of choice: pytest, unittest, behave, or a simple Python script.
Wait, Act, Assert
click()scroll_to()fill_form()switch_to_window()- ...
wait_for_element_to_be_visible()wait_for_element_to_be_clickable()wait_for_text_to_be_present_in_element()wait_for_element_to_disappear()- ...
see()dont_see()see_text()see_in_title()- ...
Minimal required methods for scraping some data:
get_text_from_element()get_attribute_from_element()get_cookie()save_data_to_txt()
You're testing some eCommerce project, and you need to check your PDF invoice file? No problem!
find_pdf_file(),assert_strings_in_pdf(),assert_strings_not_in_pdf(),find_file_and_assert_strings_are_in(),- ...
And much more! Check list of all available - Actions
If you need something that is not covered in this library, you still have access to all native Selenium WebDriver
methods. You can create your own methods or use native WebDriver methods and share them on one browser session.
pip install vigilant-kit- Vigilant configuration
- Adding custom browser options
- Using native selenium methods
- BiDi helpers (console/network)