2010-06-06 12 views
11

Vấn đềSimulate di chuyển chuột trong Ubuntu

Am tìm cách để tự động di chuyển con trỏ chuột và mô phỏng nhấp chuột nút chuột từ dòng lệnh sử dụng một kịch bản bên ngoài. Đang không tìm cách để:

  • phong trào Ghi chuột và phát lại (ví dụ, xnee, xmacro)
  • Ngay lập tức di chuyển con chuột từ một địa điểm khác (ví dụ, xdotool, warp_pointer Python)

lý tưởng giải pháp

những gì tôi muốn làm là như sau:

  1. Chỉnh sửa tệp tập lệnh đơn giản (ví dụ: mouse-script.txt).
  2. Thêm danh sách tọa độ, tốc độ di chuyển, độ trễ và số lần nhấp nút. Ví dụ:
     
    (x, y, rate) = (500, 500, 50) 
    sleep = 5 
    click = left 
    
  3. Chạy tập lệnh: xsim < mouse-script.txt.

Câu hỏi

Làm thế nào để bạn tự động di chuyển chuột để nó chuyển từ vị trí hiện tại của nó đến một vị trí trên màn hình, với tốc độ cụ thể? Ví dụ:

xdotool mousemove 500 500 --rate 50 

--rate 50 không tồn tại với xdotool.

Trả lời

13
  1. Tải xaut cho Python
  2. Thực hiện theo các README hướng dẫn
  3. Run:
     
    sudo apt-get install swig x11proto-xext-dev libx11-dev libxtst-dev 
    cd /usr/local/src 
    tar zxf xaut-0.2.0.tar.gz 
    ./configure 
    
  4. Sửa src/Makefile
  5. Thay đổi CFLAGS dòng như sau:
     
    CFLAGS = -Wall -fPIC -fno-stack-protector
  6. Run:
     
    make 
    
  7. Sao chép /usr/local/src/xaut-0.2.0/python/build/lib/* đến một thư mục mới.
  8. Thay đổi thư mục mới đó.
  9. Sao chép và dán đoạn mã sau vào mm.py:
     
    import xaut 
    mouse = xaut.mouse() 
    delay mouse.move_delay(100) 
    mouse.move(500, 500) 
    
  10. Chạy kịch bản:
     
    python mm.py
+0

Ngoài ra, khi bạn thực hiện các bước abobe nó sẽ thất bại trên Ubuntu 11.10. Trước hết trong trường hợp của tôi trong makefile, tôi đã phải thêm đường dẫn tuyệt đối của libX11.so mà không có trong/usr/local/lib như makefile được đề xuất nhưng trong usr/local/lib/i386-linux-gnu. Sau đó, khi u sửa chữa nó có thể biên dịch lại. Vì vậy, thay đổi ld -shared để gcc-sharing trong makefile và đó là nó –

+0

Bất kỳ ý tưởng làm thế nào để thực hiện các nhiệm vụ * mà không có * thư viện bên ngoài/công cụ? – Jewenile

6

trên các phiên bản mới hơn của Ubuntu (14.04+), bạn có thể sử dụng Autopilot, một công cụ kiểm tra UI cho Ubuntu. Nó được tạo ra để tạo và chạy các kiểm tra giao diện người dùng, nhưng cũng có thể được sử dụng cho các tác vụ tự động hóa GUI cơ bản.

cài đặt:

$ sudo apt-get install python3-autopilot 

một kịch bản ví dụ (Python3) để tự động mouse movement:

#!/usr/bin/env python3 

from autopilot.input import Mouse 

mouse = Mouse.create() 
mouse.move(100, 50) 
mouse.click() 

Bạn sẽ chạy giống như bất kỳ kịch bản khác Python3. Xem di chuyển con trỏ chuột của bạn!