Tương tác với các ứng dụng X theo lập trình


8

Tôi có một ứng dụng được xây dựng bằng GTK +. Ứng dụng này có giao diện rất đơn giản. Khi bắt đầu, cùng một cửa sổ luôn mở, với một vài điều khiển đầu vào.

Chúng tôi muốn viết một tập lệnh để điền vào văn bản trong một vài trường, chọn hộp kiểm, sau đó nhấp vào nút. Khá đơn giản và sẽ dễ thực hiện nếu có sẵn phiên bản dòng lệnh của ứng dụng (nhưng không phải vậy).

Cách tốt nhất để tiếp cận tương tác với ứng dụng X theo lập trình là gì?

Câu trả lời:


9

Cung cấp cho xdotool ( trang người dùng Ubuntu ).

Nó cực kỳ mạnh mẽ và có thể làm bất cứ điều gì bạn cần.

http://www.semicomplete.com/projects/xdotool/xdotool.xhtml


Tôi nghĩ rằng việc sử dụng xdotoolchỉ nên được xem xét trong trường hợp khẩn cấp thực sự! Viết kịch bản một cái gì đó nghiêm túc xdotoollà một nỗi đau hơn là một niềm vui. Trước khi bạn thử xdotoolhỏi nhà phát triển nếu ứng dụng có dbusgiao diện. Điều đó sẽ làm cho kế hoạch của bạn đơn giản hơn nhiều.
dùng1146332

1
@ user1146332 Tôi đang sử dụng xdotoolcho các tác vụ khác nhau mà không gặp vấn đề gì. Tôi không biết chính xác nỗi đau hơn là niềm vui dựa trên điều gì.
LinuxSecurityFreak

Tôi đang sử dụng xdotool trong một tình huống tương tự, và một điều đau đớn là nó không thể nhìn vào cửa sổ mà nó đang gửi các sự kiện. Một vấn đề là thời gian không xác định: Nếu chương trình X cần một chút thời gian để xử lý một sự kiện và sẽ bỏ qua sự kiện tiếp theo khi nó đến quá sớm, bạn cần thêm tạm dừng giấc ngủ hào phóng, nhưng bạn không bao giờ biết được bao lâu là đủ.
Hans-Martin Mosner 23/03/18

3

xte, một phần của xautomation là một công cụ khác mà bạn có thể sử dụng để tạo đầu vào X11 giả bằng cách sử dụng tiện ích mở rộng XTest.

Từ trang chủ:

Điều khiển X từ dòng lệnh cho các tập lệnh và thực hiện "quét trực quan" để tìm những thứ trên màn hình. Giao diện điều khiển cho phép di chuyển chuột, nhấp, nút lên / xuống, phím lên / xuống, v.v. và sử dụng tiện ích mở rộng XTest để bạn không gặp phải các vấn đề khó chịu mà xse gặp phải khi ứng dụng bỏ qua các sự kiện đã gửi. Chương trình visgrep tìm hình ảnh bên trong hình ảnh và báo cáo tọa độ, cho phép các progam tìm nút, v.v., trên màn hình để nhấp vào.


0

Xte hoạt động nhưng nó thực sự cũ. xdotool ít nhất là trong sự phát triển tích cực.

Tôi đã nghiên cứu rất nhiều về việc tạo các sự kiện X Windows, trên danh nghĩa để phát triển chương trình macro bàn phím có thể gõ chuỗi hoặc bảng tạm trong các ứng dụng thường không cho phép bạn sử dụng dán.

Ghi chú xử lý sự kiện X Window ... http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt

Macro bàn phím (sử dụng xte hoặc xdotool http://www.ict.griffith.edu.au/anthony/software/#keyboard_macro


Thông tin tốt trong các liên kết, tại sao ai đó đánh giá thấp câu trả lời này? +1 nhưng sẽ tốt hơn nếu bao gồm tóm tắt các ứng dụng được tìm thấy ở đầu bài viết ít hơn.
Badr Elmer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.