Skip to content

A lightweight webdriver supporting Firefox and Chrome and running without selenium.

Notifications You must be signed in to change notification settings

Mubelotix/webdriver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lw-webdriver

This crate allows you to control a web browser (Firefox or chrome) easily. It does not use selenium, which is much more lightweight. It only uses geckodriver or chromedriver (you have to download the one you want to use depending on your browser and place it in your program's directory). This crate can launch the driver and kill his process after, but if one is already running, it will be used. A lot of improvements can be done. Feel free to contribute.

Example

use lw_webdriver::{session::Session, enums::{Browser, Selector}};
use std::{thread, time::Duration};

// start session
let mut session = Session::new(Browser::Firefox, false).unwrap();

// load a website
session.tabs[0].navigate("https://mubelotix.dev/").unwrap();

// click a link
let mut element = session.tabs[0].find(Selector::XPath, "//a[@href='https://www.kerbalspaceprogram.com/']").unwrap().unwrap();
element.click().unwrap();

Running tests

Run tests one by one:

cargo test -- --test-threads=1

License: MIT

About

A lightweight webdriver supporting Firefox and Chrome and running without selenium.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages