Page Interaction

Page Interaction cung cấp các thao tác cơ bản để tương tác với trang web như click, nhập text, điều hướng URL, và quản lý clipboard.

Get Clipboard

Lấy nội dung từ clipboard

Lấy nội dung hiện tại từ clipboard của hệ thống. Hữu ích để lấy dữ liệu đã copy từ các ứng dụng khác.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Ví dụ:
{ "resource": "pageInteraction", "operation": "getClipboard", "debugPort": 9222, "tabIndex": 0 }
💡 Lưu ý:
  • Clipboard có thể chứa text, hình ảnh, hoặc file
  • Nếu clipboard trống, sẽ trả về chuỗi rỗng
  • Hữu ích để lấy dữ liệu từ các ứng dụng khác

Get Page URL

Lấy URL của trang hiện tại

Lấy URL của trang web hiện tại đang được hiển thị trong trình duyệt.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Ví dụ:
{ "resource": "pageInteraction", "operation": "getPageUrl", "debugPort": 9222, "tabIndex": 0 }
💡 Lưu ý:
  • Trả về URL đầy đủ bao gồm protocol, domain, path, và query parameters
  • Hữu ích để kiểm tra trang hiện tại trong quá trình automation
  • Có thể dùng để validate navigation

Load URL

Điều hướng đến một URL cụ thể

Điều hướng trình duyệt đến một URL cụ thể. Trang sẽ được load và hiển thị trong tab hiện tại.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
URL: URL cần điều hướng đến (bắt buộc)
Wait Until: Sự kiện để chờ đợi (domcontentloaded, load, networkidle2)
Ví dụ:
{ "resource": "pageInteraction", "operation": "loadUrl", "debugPort": 9222, "tabIndex": 0, "url": "https://www.google.com", "waitUntil": "networkidle2" }
💡 Lưu ý:
  • URL phải có protocol (http:// hoặc https://)
  • Trang sẽ được load trong tab hiện tại
  • Có thể mất thời gian để load trang hoàn toàn
  • Wait Until giúp đảm bảo trang load xong trước khi tiếp tục

Move and Click

Di chuyển chuột và click vào phần tử

Di chuyển chuột đến vị trí cụ thể và thực hiện click. Có thể click vào tọa độ hoặc phần tử được xác định bởi selector.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Selector: CSS selector của phần tử cần click
Timeout: Thời gian chờ tối đa (milliseconds, bắt buộc)
Click Method: Phương thức click (useJavascriptClick, usePuppeteer, useGhostCursor)
Hesitate: Thời gian chờ trước khi click (milliseconds)
Wait For Click: Thời gian chờ sau khi click (milliseconds)
Button: Loại button (left, right, middle)
Click Count: Số lần click
Ví dụ click theo selector:
{ "resource": "pageInteraction", "operation": "moveAndClick2", "debugPort": 9222, "tabIndex": 0, "selector": "#login-button", "timeout": 30000, "clickMethod": "useGhostCursor", "hesitate": 3000, "waitForClick": 500, "button": "left", "clickCount": 1 }
💡 Lưu ý:
  • Selector ưu tiên hơn tọa độ nếu được cung cấp
  • Click Method: useGhostCursor (mặc định), usePuppeteer, useJavascriptClick
  • Nên đợi trang load hoàn toàn trước khi click
  • Selector có thể sử dụng format đặc biệt: >CSS>, >XPATH>, >FRAME>, >SHADOW>, >AT>

Press Special Key

Bấm phím đặc biệt

Bấm các phím đặc biệt như Enter, Tab, Escape, v.v. Hữu ích cho việc điều hướng và tương tác với form.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Key: Phím cần bấm (Enter, Tab, Escape, v.v.)
Number of Presses: Số lần bấm phím (mặc định: 1)
Ví dụ:
{ "resource": "pageInteraction", "operation": "pressSpecialKey", "debugPort": 9222, "tabIndex": 0, "key": "Enter", "count": 1 }
💡 Lưu ý:
  • Các phím phổ biến: Enter, Tab, Escape, Backspace, Delete, Arrow keys
  • Phím sẽ được bấm trên phần tử đang focus
  • Hữu ích để submit form hoặc điều hướng
  • Có thể bấm nhiều lần cùng một phím

Set Clipboard

Đặt nội dung vào clipboard

Đặt nội dung text vào clipboard của hệ thống. Nội dung này có thể được paste vào các ứng dụng khác.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Content: Nội dung text cần đặt vào clipboard (bắt buộc)
Ví dụ:
{ "resource": "pageInteraction", "operation": "setClipboard", "debugPort": 9222, "tabIndex": 0, "content": "Hello World!" }
💡 Lưu ý:
  • Chỉ hỗ trợ text content
  • Nội dung sẽ thay thế clipboard hiện tại
  • Hữu ích để chia sẻ dữ liệu giữa các ứng dụng

Type Text

Nhập text với độ trễ tùy chỉnh

Nhập text vào phần tử đang focus với độ trễ giữa các ký tự để mô phỏng typing thực tế.

Tham số:
Debug Port: Port kết nối trình duyệt (bắt buộc)
Tab Index: Index của tab cần thao tác (0-based, bắt buộc)
Text: Text cần nhập (bắt buộc)
Delay (Milliseconds): Độ trễ giữa các ký tự (milliseconds, mặc định: 100)
Ví dụ:
{ "resource": "pageInteraction", "operation": "type", "debugPort": 9222, "tabIndex": 0, "text": "Hello World!", "delays": 100 }
💡 Lưu ý:
  • Text sẽ được nhập vào phần tử đang focus
  • Delay giúp mô phỏng typing thực tế
  • Delay mặc định là 100ms
  • Hữu ích để điền form một cách tự nhiên