#selenium #browser #testing #automation

selenium-rs

selenium-rs 是 selenium webdriver 规范 (https://www.w3.org/TR/webdriver1/) 的客户端。它旨在简化 Rust 中的行为驱动测试,并用于自动化浏览器交互。

3 个版本

使用旧的 Rust 2015

0.1.2 2020 年 2 月 13 日
0.1.1 2018 年 9 月 12 日
0.1.0 2018 年 9 月 12 日

#703硬件支持

Download history • Rust 包仓库 19/week @ 2024-03-11 • Rust 包仓库 24/week @ 2024-03-18 • Rust 包仓库 31/week @ 2024-03-25 • Rust 包仓库 79/week @ 2024-04-01 • Rust 包仓库 17/week @ 2024-04-08 • Rust 包仓库 10/week @ 2024-04-15 • Rust 包仓库 14/week @ 2024-04-22 • Rust 包仓库 10/week @ 2024-04-29 • Rust 包仓库 7/week @ 2024-05-06 • Rust 包仓库 36/week @ 2024-05-13 • Rust 包仓库 24/week @ 2024-05-20 • Rust 包仓库 22/week @ 2024-05-27 • Rust 包仓库 34/week @ 2024-06-03 • Rust 包仓库 14/week @ 2024-06-10 • Rust 包仓库 31/week @ 2024-06-17 • Rust 包仓库 14/week @ 2024-06-24 • Rust 包仓库

每月 96 次下载

MIT 许可证

24KB
438 代码行

Selenium-rs

GitHub issues

关于

Selenium-rs 是 selenium webdriver (https://www.seleniumhq.org/) 的简单客户端。它构建于 webdriver 协议之上(规范可在 此处 找到)。它目前支持 chrome 驱动,Gecko(firefox)支持正在开发中。

安装

[dependencies]
selenium-rs = "0.1.0"

注意,selenium-rs 还需要一个正在运行的 selenium webdriver 实例,可在 此处 找到。只需下载 jar 文件并运行它以实例化 selenium webdriver 服务器。

文档: docs.rs

示例用法

示例 - 导航到网页

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

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

driver.navigate("https://rust-lang.net.cn"); 
assert_eq!(driver.get_current_url().unwrap(), String::from("https://rust-lang.net.cn/"));
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();

示例 - 检查元素属性

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");

当前状态

目前,该项目支持 webdriver 规范提供的许多重要功能。然而,它还远未完善。随着我找到时间实现 webdriver 规范中描述的所有内容,支持功能将定期增加。正在进行的功能将在 此处 跟踪。

注意:目前仅测试了 Selenium 3.14

贡献

欢迎提交拉取请求!请参阅 问题跟踪器 了解当前正在开发的功能、改进和错误修复。

许可证

此项目在 MIT 许可证下提供。

依赖关系

~19MB
~423K SLoC