Tài liệu

Tài liệu RunMacro

Tạo robot đầu tiên, rồi tiến xa theo nhu cầu.

Hướng dẫn rõ ràng từng bước để tạo, chạy và cải thiện robot cho công việc máy tính lặp lại.

Tài liệu Luồng Smart Desktop IF
⚖️ Luồng

Rẽ nhánh điều kiện theo phần tử Desktop (Smart Desktop IF) trong RunMacro

Smart Desktop IF là lệnh rẽ nhánh điều kiện thông minh trong RunMacro dựa trên sự tồn tại, văn bản, trạng thái enabled hoặc checked của phần tử giao diện Desktop.

Điều kiện cần#

  • Ứng dụng Desktop đang chạy trên màn hình.
  • Kịch bản đã có sẵn các nhãn (Label) để nhảy tới.

Chế độ hỗ trợ#

  • Chế độ Desktop — Kiểm tra trực tiếp các thuộc tính UIA mà không can thiệp vào giao diện người dùng.

Chức năng này làm gì#

Lệnh Smart Desktop IF kiểm tra trạng thái thực tế của các phần tử giao diện Desktop thông qua Microsoft UI Automation và rẽ nhánh luồng chạy macro dựa trên kết quả logic. Các điều kiện hỗ trợ bao gồm: kiểm tra Phần tử có tồn tại (element_exists), Phần tử không tồn tại (element_not_exists), Văn bản chứa từ khóa (text_contains), Văn bản khớp chính xác (text_equals), Nút có cho phép bấm (is_enabled), hoặc Hộp kiểm có đang chọn (is_checked). Khi điều kiện thỏa mãn, macro sẽ nhảy đến nhãn (Label) chỉ định hoặc thực hiện khối lệnh tương ứng.

Hình ảnh & video#

Giao diện cấu hình các trường thông số của lệnh Smart Desktop IF trong RunMacro
Khung cấu hình các trường thông số của lệnh Smart Desktop IF trong RunMacro.

Khi nào nên dùng#

  • Kiểm tra xem hộp thoại thông báo lỗi hoặc cảnh báo 'Bạn có chắc chắn muốn xóa?' có xuất hiện hay không để bấm xác nhận.
  • Kiểm tra nút 'Thanh toán' hoặc 'Lưu' có đang bật (Đã bật) hay đang bị mờ (Đã tắt) trước khi click.
  • Rẽ nhánh xử lý khi ô trạng thái đơn hàng hiển thị 'Đã hoàn thành' hoặc 'Chờ xử lý'.
  • Kiểm tra xem hộp kiểm 'Đã gửi hóa đơn' có được tích hay chưa để tránh xuất trùng lặp.

Khi nào không nên dùng#

  • Kiểm tra phần tử trên trang web trình duyệt (dùng Smart HTML IF).
  • Kiểm tra giá trị biến thuần túy không gắn với UI (dùng lệnh Kiểm tra biến If Variable).

Các bước cấu hình#

  1. Trong RunMacro, chọn nhóm Luồng › Smart Desktop IF.
  2. Bấm 🎯 Chỉ điểm phần tử (Pick Element) và chọn phần tử cần kiểm tra trên màn hình.
  3. Chọn Điều kiện (Condition): Tồn tại, Không tồn tại, Chứa văn bản, Bằng văn bản, Đang bật (Đã bật), hoặc Đang chọn (Checked).
  4. Nếu chọn điều kiện văn bản, nhập giá trị cần so sánh tại ô Giá trị so sánh (Condition Value) (hỗ trợ biến {var}).
  5. Chọn nhãn nhảy tới tại Nhãn khi ĐÚNG (If Label) và (tùy chọn) Nhãn khi SAI (Else Label).
  6. Thiết lập Thời gian chờ kiểm tra (Timeout ms) (mặc định 1500ms).
  7. Bấm Lưu.

Giải thích từng tùy chọn#

🎯 Chỉ điểm phần tử (Pick Element)#

Ngắm chọn đối tượng UI trên màn hình để trích xuất UIA ID và Class.

Điều kiện (Condition)#

Loại điều kiện đánh giá: element_exists (tồn tại), element_not_exists (không tồn tại), text_contains (chứa chữ), text_equals (bằng chữ), is_enabled (cho phép bấm), is_checked (đã tích chọn).

Giá trị so sánh (Condition Value)#

Nội dung văn bản cần so sánh khi dùng điều kiện text_contains hoặc text_equals.

Nhãn khi ĐÚNG (If Label)#

Nhãn (Label) kịch bản sẽ nhảy tới ngay lập tức nếu điều kiện đánh giá là True.

Nhãn khi SAI (Else Label)#

Nhãn kịch bản sẽ nhảy tới nếu điều kiện đánh giá là False (để trống nếu muốn chạy lệnh tiếp theo).

Kết quả mong đợi#

Kịch bản nhảy chính xác đến nhãn tương ứng theo đúng trạng thái thực tế của phần tử UI.

Ví dụ thực tế#

Ví dụ: Tự động đóng popup thông báo nếu xuất hiện#

  1. Thêm lệnh Smart Desktop IF.
  2. Chỉ điểm vào nút 'Bỏ qua' hoặc tiêu đề của popup quảng cáo/thông báo.
  3. Chọn điều kiện Phần tử tồn tại (element_exists), đặt Timeout là 1000ms.
  4. Đặt If Label là lbl_dong_popup, Else Label là lbl_tiep_tuc.
  5. Dưới nhãn lbl_dong_popup, đặt lệnh Smart Click vào nút Đóng.

Giới hạn và trường hợp lỗi#

  • Ứng dụng chạy quyền Administrator đòi hỏi RunMacro cũng phải mở Run as Admin để đọc trạng thái UIA.

Mẹo & lỗi thường gặp#

Khi kiểm tra sự xuất hiện của popup chớp nhoáng, đặt Timeout từ 1000–2000ms để đảm bảo ứng dụng đã render xong giao diện.
Tránh đặt Timeout quá lớn (trên 10 giây) cho các phần tử thường xuyên không xuất hiện để không làm chậm toàn bộ kịch bản.

Thông tin kiểm chứng#

  • commands/smart_desktop_if.py · xác minh 2026-09-30
Robot biểu tượng của RunMacro

Công việc của robot. Thời gian của bạn.

Tạo robot trong vài phút, không cần lập trình. Chạy ổn định, quản lý từ xa, chi phí rõ ràng — và bạn luôn giữ quyền kiểm soát.