3 个版本
使用旧的 Rust 2015
0.1.2 | 2020 年 2 月 13 日 |
---|---|
0.1.1 | 2018 年 9 月 12 日 |
0.1.0 | 2018 年 9 月 12 日 |
#703 在 硬件支持
每月 96 次下载
24KB
438 代码行
Selenium-rs
关于
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/"));
执行 Google 搜索
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