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 Chuột Smart Scroll
📜 Chuột

Tự động cuộn danh sách và bảng thông minh Desktop (Smart Scroll) trong RunMacro

Smart Scroll là lệnh cuộn giao diện thông minh qua Windows UI Automation dành cho phần mềm Desktop. Lệnh tự động cuộn bảng, danh sách dài hoặc đưa phần tử bị khuất vào vùng hiển thị (ScrollIntoView) mà không phụ thuộc tọa độ con trỏ chuột.

Điều kiện cần#

  • Ứng dụng Desktop có bảng biểu hoặc danh sách đang mở.
  • Phần tử hoặc vùng cuộn đã được chọn qua công cụ Chỉ điểm phần tử.

Chế độ hỗ trợ#

  • Chế độ Desktop — Tương tác trực tiếp qua ScrollPattern và ScrollItemPattern của Windows UI Automation.

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

Lệnh Smart Scroll điều khiển thanh cuộn của các danh sách, bảng biểu hoặc cửa sổ Desktop thông qua công nghệ Microsoft UI Automation (UIA) với mẫu ScrollPattern và ScrollItemPattern.ScrollIntoView(). Khác với thao tác lăn chuột vật lý dễ bị lệch vùng hoặc dừng sai vị trí khi giao diện co giãn, Smart Scroll định vị chính xác vùng chứa (container) và cuộn mượt mà theo số nấc chỉ định, hoặc tự động đưa ngay một phần tử đang bị che khuất sâu bên dưới vào chính giữa tầm nhìn hiển thị.

Hình ảnh & video#

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

Khi nào nên dùng#

  • Duyệt qua danh sách dài hàng nghìn dòng trong các phần mềm doanh nghiệp (ERP, SAP, kế toán MISA, CRM, WinForms, WPF).
  • Đưa các nút thao tác hoặc ô nhập liệu bị nằm khuất dưới đáy hộp thoại vào vùng nhìn thấy để thực hiện bước click tiếp theo.
  • Cuộn liên tục để tải thêm dữ liệu (infinite scroll) trong ứng dụng Desktop trước khi trích xuất dữ liệu.
  • Thao tác cuộn tài liệu PDF, trang tính Excel hoặc văn bản dài tự động theo từng trang (Page Down / Page Up).

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

  • Tự động cuộn trang web trên trình duyệt (dùng Smart HTML hoặc Chrome CDP).
  • Tài liệu canvas tự vẽ không hỗ trợ accessibility (dùng Mouse Wheel thông thường).

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

  1. Trong giao diện RunMacro, mở nhóm Chuột › Smart Scroll từ danh mục lệnh bên trái.
  2. Bấm nút 🎯 Chỉ điểm phần tử (Pick Element) — cửa sổ RunMacro tạm ẩn và viền xanh bám theo con trỏ chuột.
  3. Rê chuột vào bảng dữ liệu hoặc danh sách cần cuộn và nhấp chuột trái (hoặc nhấn phím Enter / Space) để chọn.
  4. Tại ô Hướng cuộn, chọn: Cuộn xuống (Down), Cuộn lên (Up), hoặc Đưa phần tử vào tầm nhìn (Scroll Into View).
  5. Nhập Số nấc cuộn (mặc định 3 nấc cho mỗi lần thực thi).
  6. Thiết lập Thời gian chờ (Timeout ms) tìm kiếm phần tử container (mặc định 2000 ms).
  7. Bấm Lưu để chèn lệnh vào kịch bản tự động hóa.

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

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

Mở công cụ ngắm chọn trực quan trên màn hình để xác định ID, Class và tiến trình của bảng hoặc khung cuộn.

Hướng cuộn (Direction)#

Hướng tác động cuộn: down (cuộn xuống dưới), up (cuộn lên trên), hoặc into_view (gọi ScrollItemPattern để đưa phần tử con vào tầm nhìn ngay lập tức).

Số nấc cuộn (Clicks / Steps)#

Số lượng nấc bánh xe chuột ảo phát ra cho một lần kích hoạt (mặc định là 3 nấc, tương ứng với 3 dòng hoặc 1 bước cuộn tiêu chuẩn của Windows).

Thời gian chờ (Timeout ms)#

Thời gian tối đa (mili-giây) RunMacro chờ phần tử hoặc thanh cuộn sẵn sàng trước khi báo lỗi (mặc định 2000ms).

Kết quả mong đợi#

Bảng hoặc danh sách desktop được cuộn đúng hướng và số nấc, hoặc đưa phần tử mục tiêu vào chính giữa vùng hiển thị.

Ví dụ thực tế#

Ví dụ: Cuộn bảng sao kê ngân hàng để nạp toàn bộ giao dịch#

  1. Thêm lệnh Smart Scroll vào kịch bản.
  2. Chỉ điểm vào bảng giao dịch trong ứng dụng ngân hàng số.
  3. Chọn hướng Cuộn xuống (Down), đặt số nấc là 5.
  4. Đặt trong vòng lặp Lặp lại (Loop) 10 lần với độ trễ 800ms giữa các lần để dữ liệu kịp tải.

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

  • Một số ứng dụng cổ điển MFC hoặc game không cài đặt ScrollPattern cần dùng mô phỏng chuột.
  • Nếu bảng có phân trang (pagination) thay vì cuộn thì cần click nút sang trang.

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

Với các control hỗ trợ chuẩn UIA Table/List, chế độ Scroll Into View đưa phần tử đích hiển thị tức thì mà không cần ước lượng số lần cuộn chuột.
Đảm bảo con trỏ chuột không bị kẹt ở mép màn hình và ứng dụng không bị đóng băng giao diện (Not Responding) trong lúc cuộn.

Thông tin kiểm chứng#

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