← Mục lục tài liệu

Open Profile

key: manager.open_profile nhóm: ManagerAction hàm Client A13: open_profile

Chức năng

Nhờ GPM Login mở một profile theo Profile ID (gọi GET /profiles/start/<id>), sau đó bám lấy cửa sổ vừa hiện và ghi nhớ cổng remote debugging để các action DOM/CDP dùng về sau. Dùng khi cần chống fingerprint bằng profile GPM thay vì trình duyệt local.

Chi tiết hoạt động

Action duy nhất chạm tới GPM API: GET /profiles/start/<profile_id> (base URL lấy từ biến môi trường PYAUTO_WEB_GPM_BASE_URL/GPM_BASE_URL, API key từ PYAUTO_WEB_GPM_API_KEY/GPM_API_KEY).

Sau khi GPM báo OK, Client ghi nhớ remote_debugging_address/port để các action DOM/CDP dùng về sau, rồi tìm & focus đúng cửa sổ mới xuất hiện (so sánh snapshot cửa sổ trước/sau).

one_frame_mode có tác dụng thật (đặt self.one_frame_mode): các Element action sẽ tìm cả trong iframe.

Tham số Client hiện bỏ qua: kill_idle_timeout_sec, close_profile_when_error, DEBUG, headless (chỉ dùng để quyết định có thêm --start-maximized hay không), vmouse, listen_mouse, show_info.

Tham số (15)

Tên trên UIpayloadNameKiểuMặc địnhMô tả
🚩 Profile ID profile_id string Chức năng: Mã định danh profile trong GPM Login. Lấy được từ giao diện GPM hoặc từ action List Profiles. Bạn cần nhập mục này để action chạy đúng. Ví dụ 1: xgyasg1995. Giải nghĩa: Mã ngắn do người dùng tự đặt trong GPM. Ví dụ 2: 929e187c-2da7-4ecb-b3dd-9600e211fa4f. Giải nghĩa: Mã UUID do GPM sinh tự động. Ví dụ 3: ={{$json.profile_id}}. Giải nghĩa: Lặp qua danh sách profile lấy từ node trước.
Additional Args addination_args string Chức năng: Tham số dòng lệnh bổ sung khi khởi chạy trình duyệt, cách nhau bằng khoảng trắng. Dùng để bật những cờ mà node chưa có ô riêng. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: --lang=vi-VN. Giải nghĩa: Ép giao diện trình duyệt sang tiếng Việt. Ví dụ 2: --disable-blink-features=AutomationControlled. Giải nghĩa: Giấu bớt dấu hiệu bị điều khiển tự động. Ví dụ 3: --window-size=1280,720 --mute-audio. Giải nghĩa: Gộp nhiều cờ trong một ô.
Win Scale win_scale string Chức năng: Tỉ lệ phóng to/thu nhỏ cửa sổ, 1 là 100%. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: 1. Giải nghĩa: Giữ nguyên kích thước gốc. Ví dụ 2: 0.5. Giải nghĩa: Thu còn một nửa để xếp nhiều cửa sổ cùng lúc. Ví dụ 3: 2. Giải nghĩa: Phóng gấp đôi cho màn hình độ phân giải cao.
Win Pos win_pos string Chức năng: Vị trí góc trên-trái của cửa sổ trên màn hình, viết dạng X,Y tính bằng pixel. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: 0,0. Giải nghĩa: Dán sát góc trên bên trái màn hình. Ví dụ 2: 300,300. Giải nghĩa: Lệch vào giữa để không che thanh tác vụ. Ví dụ 3: 1920,0. Giải nghĩa: Đẩy cửa sổ sang màn hình thứ hai.
Win Size win_size string Chức năng: Kích thước cửa sổ viết dạng Rộng,Cao tính bằng pixel. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: 1280,720. Giải nghĩa: Kích thước gọn, chạy được cả trên màn hình nhỏ. Ví dụ 2: 1920,1080. Giải nghĩa: Full HD, khớp với hầu hết ảnh mẫu chụp sẵn. Ví dụ 3: 800,600. Giải nghĩa: Cửa sổ nhỏ, hữu ích khi cần mở nhiều cửa sổ song song.
Start Maximized start_maximized boolean true Chức năng: Bật thì cửa sổ mở ra ở trạng thái phóng to hết màn hình, bỏ qua Win Size. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: true. Giải nghĩa: Phóng hết cỡ — vùng thao tác rộng và ổn định nhất. Ví dụ 2: false. Giải nghĩa: Tôn trọng kích thước ghi ở Win Size. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Chọn theo dữ liệu điều khiển.
Kill Idel Timeout (Sec) kill_idle_timeout_sec string 300 Chức năng: Số giây không có hoạt động thì Client tự đóng profile để giải phóng máy. Đặt 0 nghĩa là không bao giờ tự đóng. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: 0. Giải nghĩa: Không tự đóng — giữ phiên cho tới khi bạn chủ động quit. Ví dụ 2: 300. Giải nghĩa: Đóng sau 5 phút nằm im, tránh bỏ quên tiến trình. Ví dụ 3: 1800. Giải nghĩa: Cho phép nghỉ tới 30 phút giữa các bước dài.
Close Profile when error close_profile_when_error boolean true Chức năng: Bật thì gặp lỗi là đóng profile ngay; tắt thì để nguyên cửa sổ cho bạn vào xem hiện trường. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: true. Giải nghĩa: Tự dọn dẹp, hợp khi chạy hàng loạt không có người trực. Ví dụ 2: false. Giải nghĩa: Giữ cửa sổ lại để soi lỗi — hợp lúc đang phát triển kịch bản. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Chọn theo dữ liệu điều khiển.
One Frame Mode one_frame_mode boolean true Chức năng: Bật chế độ một frame giống C10: các node Element như wait_element/get_text/get_attribute/count_element sẽ tìm cả trong iframe của trang hiện tại. Ví dụ 1: true. Giải nghĩa: Đỡ phải gọi switch_to_frame khi nội dung nằm trong iframe. Ví dụ 2: false. Giải nghĩa: Chỉ tìm trong frame đang chọn — kiểm soát chính xác hơn. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Chọn theo dữ liệu điều khiển.
DEBUG DEBUG boolean false Chức năng: Bật để Client ghi thêm nhật ký chi tiết cho bước này, phục vụ dò lỗi. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: false. Giải nghĩa: Chạy im lặng như bình thường. Ví dụ 2: true. Giải nghĩa: In log chi tiết để tìm nguyên nhân khi bước này hay hỏng. Ví dụ 3: ={{$json.debug}}. Giải nghĩa: Bật log theo cờ điều khiển của workflow.
Incognito-like Context incognito boolean false Chức năng: Bật thì mở ở chế độ ẩn danh: không dùng và không lưu cookie, lịch sử của phiên trước. Mỗi lần chạy là một phiên trắng. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: true. Giải nghĩa: Bắt đầu sạch hoàn toàn — hợp khi test luồng đăng ký mới. Ví dụ 2: false. Giải nghĩa: Giữ cookie và trạng thái đăng nhập sẵn có. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Chọn chế độ theo dữ liệu điều khiển.
Headless headless boolean false Chức năng: Bật thì trình duyệt chạy ẩn không hiện cửa sổ. Lưu ý: các action dựa vào ảnh và tọa độ màn hình sẽ KHÔNG hoạt động ở chế độ này. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: false. Giải nghĩa: Hiện cửa sổ thật — bắt buộc nếu dùng nhóm Image hoặc tọa độ chuột. Ví dụ 2: true. Giải nghĩa: Chạy ẩn, nhẹ máy, chỉ hợp khi thao tác hoàn toàn qua DOM. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Chọn chế độ theo dữ liệu điều khiển.
Virtual Mouse vmouse boolean false Chức năng: Bật lớp chuột ảo vẽ đè lên màn hình để nhìn thấy con trỏ đang ở đâu. Chủ yếu dùng khi quan sát và dò lỗi. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: false. Giải nghĩa: Không vẽ gì thêm — chạy production. Ví dụ 2: true. Giải nghĩa: Hiện con trỏ ảo để xem Client đang bấm vào đâu. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Bật/tắt theo cờ điều khiển.
Follow Controller Mouse listen_mouse boolean false Chức năng: Bật thì chuột ảo bám theo chuột thật của người điều khiển. Chỉ hiện khi đã bật Virtual Mouse. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: false. Giải nghĩa: Chuột ảo đi theo kịch bản tự động. Ví dụ 2: true. Giải nghĩa: Chuột ảo đi theo tay bạn — tiện khi vừa xem vừa chỉnh. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Bật/tắt theo cờ điều khiển.
Chỉ hiện khi: vmouse = true
Show Info show_info boolean false Chức năng: Bật để Client hiện bảng thông tin phiên làm việc đè lên màn hình khi mở profile. Bạn có thể để trống nếu không cần dùng. Ví dụ 1: false. Giải nghĩa: Màn hình sạch, không có lớp phủ. Ví dụ 2: true. Giải nghĩa: Hiện thông tin profile/cổng để đối chiếu khi chạy nhiều máy. Ví dụ 3: ={{$json.flag}}. Giải nghĩa: Bật/tắt theo cờ điều khiển.

🚩 = bắt buộc. Ô rỗng của tham số tùy chọn sẽ bị loại khỏi payload.inputs — Client tự áp default.

Payload MQTT gửi đi

{
  "version": "great-lotus-pyauto-v1",
  "action": {
    "key": "manager.open_profile",
    "group": "ManagerAction",
    "function": "open_profile"
  },
  "inputs": {
    "profile_id": {
      "type": "string",
      "value": ""
    },
    "start_maximized": {
      "type": "boolean",
      "value": true
    },
    "kill_idle_timeout_sec": {
      "type": "string",
      "value": 300
    },
    "close_profile_when_error": {
      "type": "boolean",
      "value": true
    },
    "one_frame_mode": {
      "type": "boolean",
      "value": true
    },
    "DEBUG": {
      "type": "boolean",
      "value": false
    },
    "incognito": {
      "type": "boolean",
      "value": false
    },
    "headless": {
      "type": "boolean",
      "value": false
    },
    "vmouse": {
      "type": "boolean",
      "value": false
    },
    "listen_mouse": {
      "type": "boolean",
      "value": false
    },
    "show_info": {
      "type": "boolean",
      "value": false
    }
  },
  "meta": {
    "requestId": "<16 hex>",
    "requestTopic": "WP2_PC176",
    "responseTopic": "RES_WP2_PC176",
    "waitForResponse": true,
    "responseTimeoutSec": 60
  }
}

Publish lên topic bạn nhập ở ô Topic; nếu bật Wait For Response, node chờ Client trả lời trên RES_<topic> với đúng meta.requestId. return: "NG" ⇒ node ném lỗi.

Sinh tự động bởi tools/gen_doc_html.js từ ACTION_SPECS (package n8n-nodes-c12_pyautogui_web@0.1.34) · 2026-07-22 · Đừng sửa tay file này — sửa _notes/ hoặc source rồi chạy lại npm run doc:build.