Skip to content

Javascript Code

Thực hiện đoạn mã Javascript trên trang đang hoạt động

Thời gian chờ

Thời gian tối đa mà node sẽ chạy, mặc định thời gian chờ là 20 giây, nếu trong thời gian chờ đoạn mã thực hiện xong thì sẽ Quy trình sẽ thực thi với các node kế tiếp, nếu trong thời gian chờ node chưa chạy xong thì sẽ dừng Quy trình

Bối cảnh thực thi

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

Chạy trong iframe

Nếu bạn muốn thực hiện đoạn code trong node vào một iframe thì điền selector hoặc link iframe đó vào đây

Chẳng hạn mình có một cửa sổ iframe, mình có thể sử dụng dưới dạng link chính là giá trị trong thuộc tính src của thẻ iframe hoặc selector iframe.payment-verification như sau

AttributesAttributes

JavaScript code

Mình có thể sử dụng đoạn code bằng JavaScript để có thể chạy ở đây

Có một số hàm dựng sẵn mà bạn có thể lấy ra để sử dụng trong node.

omniloginRefData(keyword, path)

Hàm này lấy dữ liệu ngoài quy trình để sử dụng trong node JavaScript code, mình có thể sử dụng dữ liệu từ cột trong

  • Bảng

Đầu tiên mình chèn một văn bản hello vào cột words trong bảng, khi đó cột words là cột đầu tiên trong bảng có dữ liệu

Attributes

Sau đó trong node JavaScript code sử dụng đoạn công thức như sau để lấy phần tử đầu tiên trong bảng và lấy giá trị của cột words

Attributes

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

Attributes

  • Dữ liệu chung

Đầu tiên mình tạo một mảng dữ liệu trong Dữ liệu chung như sau

Attributes

Sau đó trong node JavaScript code sử dụng đoạn công thức như sau để lấy giá trị trong Dữ liệu chung để gán vào biến data

Attributes

Khi đó biến data trong node sẽ nhận giá trị mảng

Attributes

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

Đầu tiên mình nhập dữ liệu vào node Lặp dữ liệu từ node Bảng tính có dữ liệu như sau

Attributes

Sau đó nhập qua node Lặp dữ liệu từ node Bảng tính

Attributes

Tiếp theo trong node JavaScript code sử dụng đoạn công thức như sau để lấy giá trị trong node Lặp dữ liệu để gán vào biến data.

Attributes

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

Khi đó biến data sẽ nhận giá trị của một lần lặp bởi node Lặp dữ liệu

Attributes

  • Biến

Đầu tiên mình chèn một văn bản nam vào biến name

Attributes

Sau đó trong node JavaScript code sử dụng đoạn công thức như sau để gán dữ liệu từ biến name ở ngoài quy trình vào trong node JavaScript code

Attributes

Khi đó biến data sẽ có giá trị như sau

Attributes

  • Node Bảng tính(Excel)

Đầu tiên mình nhập một file vào node Bảng tính có giá trị như sau

Attributes

Sau đó trong node JavaScript code sử dụng đoạn công thức như sau để gán dữ liệu từ biểu thức lấy dữ liệu từ node Bảng tính vào biến data ở trong node JavaScript code

Attributes

Khi đó biến data sẽ có giá trị như sau

Attributes

  • Node Google sheets

Đầu tiên mình nhập một file vào node Google sheets có giá trị như sau

Attributes

Sau đó trong node JavaScript code sử dụng đoạn công thức như sau để gán dữ liệu từ biểu thức lấy dữ liệu từ node Google sheets vào biến data ở trong node JavaScript code

Attributes

Khi đó biến data sẽ có giá trị như sau

Attributes

Ví dụ

Ở đây mình sẽ lấy ví dụ trường hợp lấy giá trị bên ngoài vào trong node JavaScript code để kiểm tra

Đầu tiên mình nhập dữ liệu vào node Lặp dữ liệu từ node Bảng tính có dữ liệu như sau

Attributes

Sau đó nhập qua node Lặp dữ liệu từ node Bảng tính

Attributes

Tiếp theo trong node JavaScript code sử dụng đoạn công thức như sau để lấy giá trị trong node Lặp dữ liệu để gán vào biến data. Biểu thức ở dưới hơi khác biệt do cấu trúc trong node Lặp dữ liệu có thêm một key data bao quanh giá trị mỗi lần lặp của node đó nên mình cần phải truy cập qua key đó. Sau đó sử dụng hàm checkName để kiểm tra giá trị ở key name trong biến data có giá trị haimanh không. Hàm sẽ trả về true nếu có giá trị và false nếu không có giá trị nào

Attributes

Khi chạy node, mình sẽ thấy giá trị true được hiển thị lên. Điều đó có nghĩa 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 trong node cho biến khác đế sử dụng biến đó ở ngoài node này

Ví dụ

Ví dụ mình đang muốn tạo một giá trị ngẫu nhiên trong khoảng từ 1 đến 100 trong node JavaScript code bằng đoạn code như sau const randomNumber = Math.floor(Math.random() * 100) + 1;

Sau đó mình muốn sử dụng giá trị này ở quy trình bên ngoài node này thì sẽ sử dụng hàm omniloginSetVariable để gán giá trị biến randomNumber cho một biến value để sử dụng biến value ở ngoài node này thì sẽ sử dụng công thức omniloginSetVariable('value', randomNumber)

Attributes

Khi chạy node này, mình sẽ thấy một biến value được tạo ra và nhận giá trị như hình, khi đó mình có thể sử dụng biến đó trong quy trình với công thức lấy giá trị của biến

Attributes

Thực thi mọi tab mới

Điều này sẽ thực thi mã javascript mỗi khi Automation tạo một tab mới hoặc chuyển đổi một tab. Khi tùy chọn này được bật, node mã javascript không còn yêu cầu một tab hoạt động để hoạt động và các chức năng tích hợp sẵn như omniloginRefData, omniloginNextBlock, v.v. sẽ không có sẵn

Tải trước tệp mã

Tải một tệp code javascript trước khi thực thi node này

  • URL: Đường dẫn đến file mã javascript