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

Download history 160/week @ 2024-01-09 135/week @ 2024-01-16 116/week @ 2024-01-23 112/week @ 2024-01-30 109/week @ 2024-02-06 127/week @ 2024-02-13 172/week @ 2024-02-20 177/week @ 2024-02-27 179/week @ 2024-03-05 129/week @ 2024-03-12 175/week @ 2024-03-19 153/week @ 2024-03-26 182/week @ 2024-04-02 162/week @ 2024-04-09 143/week @ 2024-04-16 138/week @ 2024-04-23

每月660次下载
用于 mcfly

MIT/Apache

325KB
2K SLoC

Docs Crates.io Travis Build Status Appveyor Build Status

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