8个版本

使用旧的Rust 2015

0.2.5 2020年10月30日
0.2.4 2020年3月31日
0.2.3 2020年1月28日
0.2.2 2018年10月9日
0.1.0 2017年6月4日

#1794 in Web编程

Download history 3/week @ 2024-03-23 30/week @ 2024-03-30 3/week @ 2024-04-06

每月 51 次下载

ISC许可证

47KB
967

Rust的WebDriver客户端库

webdriver_client在crates.io上

crates.io

docs.rs

源代码和问题在GitHub上:GitHub last commit

Travis CI上的CI构建:Build Status

欢迎pull requests。

入门

GeckoDriverChromeDriver完全支持作为WebDriver后端,分别通过webdriver_client::firefox::GeckoDriverwebdriver_client::chrome::ChromeDriver结构体。此crate期望驱动在您的路径上。

然而HttpDriver将接受任何WebDriver服务器的HTTP URL,因此如果您自己启动服务器,那么Microsoft WebDriver for Edge、为Apple Safari的safaridriver和为Opera的OperaDriver都应该可以正常工作。

在Linux上

脚本bin/download_geckodriverbin/download_chromedriver下载geckodriver和chromedriver的Linux x64二进制发布版。

此片段将下载驱动并将其放置在您当前shell的路径上

bin/download_geckodriver
bin/download_chromedriver
export PATH=$PATH:$PWD/bin

测试

cargo test运行一些测试。集成测试需要安装geckodriver和chromedriver。

变更日志

v0.2.5

  • Error实现了std::error::Error

v0.2.4

  • 增加了截图支持: DriverSession::screenshot()Element::screenshot()
  • 添加了 Element::click()
  • 添加了 Element::send_keys()
  • 将警告功能添加到 DriverSessiondismiss_alertaccept_alertget_alert_textsend_alert_text

v0.2.0

  • 增加了 ChromeDriver。
  • www bin 新增了命令: framesswitchframe
  • 破坏性更改: Driver::session 和 DriverSession::create_session 接受一个 NewSessionCmd 参数,该参数指定会话功能。
  • DriverSession 上添加了新方法: browser_name
  • Element 上添加了新方法: propertyclearfind_elementfind_elementsraw_reference
  • 集成测试:更多的测试用例,更多的断言和一个内置的 HTTP 服务器。

这个分支基于 equalsraf 的出色工作,详见 https://github.com/equalsraf/webdriver

依赖项

~6.5–8.5MB
~182K SLoC