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 Wait
⏳ Luồng

Chờ phần tử Desktop xuất hiện hoặc biến mất (Smart Desktop Wait) trong RunMacro

Smart Desktop Wait là lệnh đồng bộ thời gian thông minh trong RunMacro, tạm dừng cho đến khi phần tử UI xuất hiện, biến mất hoặc sẵn sàng bấm qua Windows UI Automation thay vì dùng Delay cố định.

Điều kiện cần#

  • Phần tử cần theo dõi có thể nhận diện được qua công cụ Chỉ điểm phần tử.

Chế độ hỗ trợ#

  • Chế độ Desktop — Thăm dò trạng thái phần tử qua UIA polling ngầm không chiếm CPU.

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

Lệnh Smart Desktop Wait tạm dừng quy trình thực thi một cách thông minh cho đến khi một đối tượng giao diện người dùng đạt được trạng thái mong muốn thông qua Microsoft UI Automation. Các chế độ chờ bao gồm: Xuất hiện (Appear), Biến mất (Vanish) (ví dụ: vòng xoay loading hoặc thanh tiến trình lưu file biến mất), Sẵn sàng bấm (Đã bật), hoặc Bị vô hiệu hóa (Đã tắt). Cơ chế thăm dò chu kỳ 150ms cực nhẹ CPU, giúp kịch bản luôn chạy với tốc độ tối đa ngay khi giao diện sẵn sàng mà không cần dùng các lệnh Delay cố định gây lãng phí thời gian.

Hình ảnh & video#

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

Khi nào nên dùng#

  • Chờ phần mềm ERP hoặc kế toán tải xong dữ liệu bảng trước khi click nút xuất file.
  • Chờ cửa sổ popup in ấn hoặc hộp thoại lưu tệp hiển thị hoàn chỉnh trên màn hình.
  • Chờ thanh tiến trình lưu file (Progress Bar) hoặc biểu tượng đang tải (Loading) biến mất hoàn toàn.
  • Chờ nút 'Xác nhận thanh toán' chuyển từ màu xám (Đã tắt) sang màu xanh (Đã bật) sau khi điền đủ thông tin.

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

  • Chờ phần tử trên trang web trình duyệt (dùng Smart HTML Wait).
  • Chờ một khoảng thời gian cố định nghỉ giải lao (dùng Delay).

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

  1. Trong RunMacro, chọn nhóm Luồng › Smart Desktop Wait.
  2. Bấm 🎯 Chỉ điểm phần tử (Pick Element) và chọn phần tử cần theo dõi trên màn hình.
  3. Chọn Chế độ chờ (Wait Mode): Xuất hiện (appear), Biến mất (vanish), Sẵn sàng bấm (enabled), hoặc Vô hiệu hóa (disabled).
  4. Nhập Thời gian chờ tối đa (Timeout sec) (mặc định 30 giây).
  5. Chọn hành vi tại Khi quá thời gian (On Timeout): Dừng kịch bản (stop), Nhảy tới nhãn (goto), hoặc Tiếp tục (continue).
  6. Nếu chọn nhảy nhãn, nhập tên nhãn tại ô Nhãn khi Timeout (ví dụ: lbl_xu_ly_that_bai).
  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.

Chế độ chờ (Wait Mode)#

appear (chờ xuất hiện), vanish (chờ biến mất), enabled (chờ nút sáng cho phép bấm), disabled (chờ nút mờ).

Thời gian chờ tối đa (Timeout sec)#

Thời gian tối đa tính bằng giây trước khi kích hoạt chính sách xử lý quá hạn (mặc định 30.0 giây).

Khi quá thời gian (On Timeout)#

Chính sách xử lý khi hết thời gian: stop (dừng macro báo lỗi), goto (nhảy tới nhãn xử lý lỗi), hoặc continue (bỏ qua và chạy tiếp lệnh sau).

Nhãn khi Timeout (Timeout Label)#

Tên nhãn Label nhảy đến khi On Timeout được thiết lập là 'goto'.

Kết quả mong đợi#

Macro tiếp tục thực thi ngay lập tức tại thời điểm phần tử đạt đúng trạng thái mong muốn.

Ví dụ thực tế#

Ví dụ: Chờ biểu tượng đang lưu file biến mất rồi mới đóng phần mềm#

  1. Thêm lệnh Smart Desktop Wait sau bước bấm 'Lưu file'.
  2. Chỉ điểm vào thanh trạng thái 'Đang lưu dữ liệu...'.
  3. Chọn Chế độ chờ: Biến mất (vanish) với thời gian chờ 60 giây.
  4. Khi thanh lưu biến mất, quy trình tiếp tục ngay lập tức để thực hiện bước đóng phần mềm an toàn.

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

  • Nếu cửa sổ bị thu nhỏ xuống Taskbar (Minimized), một số thuộc tính UIA có thể không cập nhật cho đến khi cửa sổ được khôi phục.

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

Thay thế các lệnh Delay 5-10 giây cố định bằng Smart Desktop Wait giúp kịch bản chạy nhanh hơn trung bình 40-70% vì không cần chờ thừa thời gian vô ích.
Nên kết hợp với tùy chọn On Timeout: goto để kịch bản có đường lui an toàn khi phần mềm bị treo hoặc lỗi mạng.

Thông tin kiểm chứng#

  • commands/smart_desktop_wait.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.