Skip to content

Javascript Code

Thực thi đoạn mã JavaScript trên trang đang hoạt động. Node này cho phép người dùng viết và chạy code tuỳ ý, phù hợp cho các tác vụ phức tạp mà các node có sẵn không đáp ứng được.

Thời gian chờ

Thời gian tối đa mà node sẽ chạy, mặc định là 20 giây. Nếu đoạn mã hoàn tất trước thời gian chờ, quy trình sẽ tiếp tục với các node kế tiếp. Nếu node chưa hoàn tất trong thời gian chờ, quy trình sẽ dừng.

Bối cảnh thực thi

Bối cảnh thực thi luôn là tab đang hoạt động.

Chạy trong iframe

Nếu muốn thực thi đoạn code bên trong một iframe, điền selector hoặc link iframe vào đây.

Ví dụ, có một cửa sổ iframe, có thể sử dụng dưới dạng link (giá trị thuộc tính src của thẻ iframe) hoặc selector iframe.payment-verification:

AttributesAttributes

JavaScript code

Viết đoạn code JavaScript để thực thi. Node cung cấp một số hàm dựng sẵn sau:

omniloginRefData(keyword, path)

Hàm này lấy dữ liệu từ bên ngoài node JavaScript code để sử dụng bên trong. Người dùng có thể lấy dữ liệu từ nhiều nguồn:

  • Bảng

Ví dụ, đã chèn văn bản hello vào cột words trong bảng:

Attributes

Trong node JavaScript code, sử dụng công thức sau để lấy phần tử đầu tiên và giá trị cột words:

Attributes

Khi đó biến firstRow sẽ nhận giá trị hello:

Attributes

  • Dữ liệu chung

Tạo một mảng dữ liệu trong Dữ liệu chung:

Attributes

Trong node JavaScript code, sử dụng công thức sau để gán dữ liệu vào biến data:

Attributes

Biến data sẽ nhận giá trị mảng:

Attributes

  • Dữ liệu trong node Lặp dữ liệu

Nhập dữ liệu vào node Lặp dữ liệu từ node Bảng tính:

Attributes

Cấu hình node Lặp dữ liệu:

Attributes

Trong node JavaScript code, sử dụng công thức sau để lấy giá trị mỗi lần lặp:

Attributes

Lưu ý: Biểu thức hơi khác do cấu trúc node Lặp dữ liệu có thêm key data bao quanh giá trị mỗi lần lặp, nên cần truy cập qua key đó. Biểu thức phải được bao bởi JSON.stringify vì dữ liệu lấy ra không có định dạng JSON, cần chuyển về JSON mới hiển thị được bằng alert. Nếu muốn sử dụng biến data như một object trong node thì không cần JSON.stringify.

Biến data sẽ nhận giá trị của một lần lặp:

Attributes

  • Biến

Chèn văn bản nam vào biến name:

Attributes

Trong node JavaScript code, sử dụng công thức sau để gán dữ liệu từ biến name:

Attributes

Biến data sẽ nhận giá trị tương ứng:

Attributes

  • Node Bảng tính(Excel)

Nhập file vào node Bảng tính:

Attributes

Trong node JavaScript code, sử dụng biểu thức lấy dữ liệu từ node Bảng tính:

Attributes

Biến data sẽ nhận giá trị:

Attributes

  • Node Google sheets

Nhập dữ liệu vào node Google sheets:

Attributes

Trong node JavaScript code, sử dụng biểu thức lấy dữ liệu từ node Google sheets:

Attributes

Biến data sẽ nhận giá trị:

Attributes

Ví dụ nâng cao

Ví dụ lấy giá trị bên ngoài vào node JavaScript code để kiểm tra.

Nhập dữ liệu vào node Lặp dữ liệu từ node Bảng tính:

Attributes

Cấu hình node Lặp dữ liệu:

Attributes

Trong node JavaScript code, lấy giá trị từ node Lặp dữ liệu vào biến data. Sau đó, sử dụng hàm checkName để kiểm tra key name trong biến data có chứa giá trị hai hoặc manh không. Hàm trả về true nếu có, false nếu không:

Attributes

Khi chạy, giá trị true được hiển thị, nghĩa là lần lặp này có giá trị hai hoặc manh:

Attributes

omniloginSetVariable(name, value)

Gán giá trị của biến bên trong node cho biến bên ngoài, để sử dụng trong các node khác của quy trình.

Ví dụ

Muốn tạo giá trị ngẫu nhiên từ 1 đến 100 bằng đoạn code: const randomNumber = Math.floor(Math.random()*100) + 1;

Sau đó, dùng omniloginSetVariable('value', randomNumber) để gán giá trị randomNumber cho biến value, giúp sử dụng biến này ở ngoài node:

Attributes

Khi chạy, biến value được tạo với giá trị ngẫu nhiên. Có thể sử dụng biến này trong quy trình bằng công thức truy cập biến:

Attributes

Thực thi mọi tab mới

Khi bật tuỳ chọn này, đoạn mã JavaScript sẽ được thực thi mỗi khi quy trình tạo tab mới hoặc chuyển tab. Lưu ý: khi bật, node không yêu cầu tab hoạt động và các hàm dựng sẵn như omniloginRefData, omniloginNextBlock,... sẽ không khả dụng.

Preload script

Tải trước một file JavaScript từ URL trước khi thực thi node. Đoạn code trong file sẽ được tải và chạy trước đoạn code chính.

  • URL: Đường dẫn đến file JavaScript cần tải trước.