16个不稳定版本 (3个重大更新)
使用旧的Rust 2015
0.4.0 | 2020年1月17日 |
---|---|
0.3.1 | 2019年11月13日 |
0.3.0 | 2019年10月23日 |
0.2.1 | 2019年7月12日 |
0.1.4 | 2018年6月3日 |
#330 in Unix API
每月660次下载
用于 mcfly
325KB
2K SLoC
AutoPilot
AutoPilot是Python C扩展AutoPy的Rust版本,一个简单、跨平台的GUI自动化库。更多详情请参阅该仓库的README。
目前支持macOS、Windows和带有XTest扩展的X11。
示例
以下代码将鼠标移动轨迹设置为正弦波
extern crate autopilot;
extern crate rand;
use rand::Rng;
const TWO_PI: f64 = std::f64::consts::PI * 2.0;
fn sine_mouse_wave() {
let screen_size = autopilot::screen::size();
let scoped_height = screen_size.height / 2.0 - 10.0; // Stay in screen bounds.
let mut rng = rand::thread_rng();
for x in 0..screen_size.width as u64 {
let y = (scoped_height * ((TWO_PI * x as f64) / screen_size.width).sin() +
scoped_height).round();
let duration: u64 = rng.gen_range(1, 3);
autopilot::mouse::move_to(autopilot::geometry::Point::new(
x as f64,
y as f64
)).expect("Unable to move mouse");
std::thread::sleep(std::time::Duration::from_millis(duration));
}
}
以下代码将输入字符串"Hello, world!"中的键,然后显示包含相同文本的警告
extern crate autopilot;
fn main() {
autopilot::key::type_string("Hello, world!", &[], 200., 0.);
let _ = autopilot::alert::alert("Hello, world!", None, None, None);
}
许可证
该项目采用Apache-2.0或MIT许可证之一,由您选择。
除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证定义,均将采用上述双重许可,不附加任何额外条款或条件。
依赖项
~14MB
~96K SLoC