All Projects → saresend → Selenium Rs

saresend / Selenium Rs

Licence: mit
A Rust Client for the Selenium webdriver (WIP)

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Selenium Rs

Test State
Scala Test-State.
Stars: ✭ 119 (-17.93%)
Mutual labels:  selenium
Autolink
AutoLink是一个开源Web IDE自动化测试集成解决方案
Stars: ✭ 129 (-11.03%)
Mutual labels:  selenium
Udemycoursegrabber
Your will to enroll in Udemy course is here, but the money isn't? Search no more! This python program searches for your desired course in more than [insert big number here] websites, compares the last updated date, and gives you the download link of the latest one back, but you also have the choice to see the other ones as well!
Stars: ✭ 137 (-5.52%)
Mutual labels:  selenium
Pddspider
拼多多爬虫,爬取所有商品、评论等信息
Stars: ✭ 121 (-16.55%)
Mutual labels:  selenium
Selenese Runner Java
Selenium IDE native format (selenese and side) interpreter.
Stars: ✭ 125 (-13.79%)
Mutual labels:  selenium
Unium
Automation for Unity games
Stars: ✭ 132 (-8.97%)
Mutual labels:  selenium
Webdrivermanager
WebDriverManager (Copyright © 2015-2021) is a project created and maintained by Boni Garcia and licensed under the terms of the Apache 2.0 License.
Stars: ✭ 1,808 (+1146.9%)
Mutual labels:  selenium
Zillow
Zillow Scraper for Python using Selenium
Stars: ✭ 141 (-2.76%)
Mutual labels:  selenium
Screenshots
Simple Website Screenshots as a Service (Django, Selenium, Docker, Docker-compose)
Stars: ✭ 126 (-13.1%)
Mutual labels:  selenium
Screen Recorder
A Ruby gem to video record and take screenshots of your desktop or specific application window. Works on Windows, Linux, and macOS.
Stars: ✭ 135 (-6.9%)
Mutual labels:  selenium
Js Nightwatch Recorder
🌙 ⌚️ NightwatchJs recorder for Chrome
Stars: ✭ 122 (-15.86%)
Mutual labels:  selenium
Selenium Ide
Open Source record and playback test automation for the web.
Stars: ✭ 1,815 (+1151.72%)
Mutual labels:  selenium
Nightwatch
End-to-end testing framework written in Node.js and using the Webdriver API
Stars: ✭ 10,912 (+7425.52%)
Mutual labels:  selenium
Horn3t
Powerful Visual Subdomain Enumeration at the Click of a Mouse
Stars: ✭ 120 (-17.24%)
Mutual labels:  selenium
Instagram Bot
An Instagram bot developed using the Selenium Framework
Stars: ✭ 138 (-4.83%)
Mutual labels:  selenium
30 Days Of Python
Learn Python for the next 30 (or so) Days.
Stars: ✭ 1,748 (+1105.52%)
Mutual labels:  selenium
Nightwatch Custom Commands Assertions
Nightwatch.js custom commands and assertions
Stars: ✭ 131 (-9.66%)
Mutual labels:  selenium
Webium
Webium is a Page Object pattern implementation library for Python (http://martinfowler.com/bliki/PageObject.html). It allows you to extend WebElement class to your custom controls like Link, Button and group them as pages.
Stars: ✭ 144 (-0.69%)
Mutual labels:  selenium
Selenium extensions
Tools that will make writing tests, bots and scrapers using Selenium much easier
Stars: ✭ 140 (-3.45%)
Mutual labels:  selenium
Java.webdriver
Browser test automation using Selenium WebDriver in Java
Stars: ✭ 135 (-6.9%)
Mutual labels:  selenium

Selenium-rs

GitHub issues

About

Selenium-rs is a simple client for the selenium webdriver. Its built to work with the webdriver protocol (spec found here). It currently supports the chrome Driver, and Gecko (firefox) support is on the way.

Installation

[dependencies]
selenium-rs = "0.1.0"

Note that selenium-rs also requires a running instance of the selenium webdriver, which can be found here. Simply download the jar and run it to instantiate the selenium webdriver server.

Setup

Start selenium server in one window

java -jar selenium-server-standalone-3.141.59.jar

Download Chrome Driver - unpack and put on PATH

http://chromedriver.chromium.org/downloads

Documentation: docs.rs

Sample Usage

Example - Navigating to a web page

use selenium_rs::webdriver::{Browser,WebDriver};

let mut driver= WebDriver::new(Browser::Chrome);
driver.start_session();

driver.navigate("https://www.rust-lang.org"); 
assert_eq!(driver.get_current_url().unwrap(), String::from("https://www.rust-lang.org/"));

Performing a google search

use selenium_rs::webdriver::{Browser, WebDriver, Selector};
let mut driver = WebDriver::new(Browser::Chrome);

driver.start_session();
driver.navigate("http://google.com");
let search_bar = driver.find_element(Selector::CSS, "input[maxlength=\"2048\"]").unwrap();

search_bar.type_text("selenium-rs github");
let search_button = driver.find_element(Selector::CSS, "input[name=\"btnK\"]").unwrap();
search_button.click();
search_button.click();

Example - Inspecting attributes of an element

use selenium_rs::webdriver::{Selector, Browser, WebDriver};
use selenium_rs::element::Element;

let mut driver = WebDriver::new(Browser::Chrome);
driver.start_session();
driver.navigate("http://www.google.com");
let search_form =  driver.find_element(Selector::CSS, "#searchform").unwrap();
assert!(search_form.get_css_value("min-width").unwrap() == "980px");

Current Status

Currently, the project supports many of the more important functionalities provided by the webdriver spec. However, it is still a fair bit away from complete. Support will get periodically added as I find the time to finish implementing everything described in the webdriver spec. In-progress features will be tracked here.

Note: Currently only tested with Selenium 3.14

Contribution

Pull requests are always welcome! Please see the issue tracker for currently in-progress features, improvements, and bugfixes.

Licence

This is provided under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].