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:


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:

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:

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

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

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

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

- 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:

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

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

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:

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

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

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

- Node
Bảng tính(Excel)
Nhập file vào node Bảng tính:

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

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

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

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

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

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:

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

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:

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:

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:

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:

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.
