[Macro] Các hàm thao tác với DOM

Lizardon hỗ trợ sẵn một số hàm để làm việc với DOM trong bài viết này sẽ đề cập đến vấn đề chọn một phần tử trên DOM và gọi hàm click trên phần tử đó.

Có nhiều hàm để lấy một phần tử trên DOM

  •  object GetFirstElementByAttribute(string tag, string attr, string value) 
  • Chọn phần tử đầu tiên tìm được có NODENAME là tag và thuộc tính attr chứa value
    ví dụ: var link = GetFirstElementByAttribute('a', 'href', 'https://google.com')
    tìm thẻ a đầu tiên mà thuộc tính href có chứa https://google.com

  •    object[] GetElementsByAttribute(string tag, string attr, string value)
    Giống như hàm bên trên nhưng lấy ra danh sách tất cả các phần tử.

  •    object GetElementByXpath(string xpath)
    Chọn phần tử thông qua Xpath

  •    object GetFirstElement(string token)
    Chọn phần tử đầu tiên tìm được thông qua thuộc tính id, class, name
    ví dụ: var link = GetFirstElement('#game')
    tìm phần tử có id = game
Để chọn chính xác 1 phần tử trên DOM thì ta sử dụng hàm GetElementByXpath và sử dụng tùy chọn Get Xpath trên trình duyệt để biết chính xác giá trị xpath của phần tử cần chọn.
Cách lấy xpath của 1 phần tử:
Mở lizardon và click vào icon Console sau đó truy cập đến trang đích.
Di chuột đến phần tử cần chọn rồi click chuột phải.

Chọn tùy chọn Get Xpath
Mở cửa sổ Console sẽ thấy xpath của phần tử
Cuối cùng viết code:

Hướng dẫn viết macro cho lizardon

Macro là một chuỗi các lệnh mà bạn có thể sử dụng để tự động hóa một tác vụ lặp lại, nó có thể chạy khi bạn cần thực hiện tác vụ đó. Trong bài viết này tôi sẽ hướng dẫn các bạn cách viết macro cho lizard webbrowser.
Cấu trúc Macro:
[#proc
  ;các thủ tục
]
#code
  ;các lệnh
trong đó #proc có thể có hoặc không. Nếu không có phần #proc ta có thể bỏ qua dòng #code
Lưu ý:
+ macro phân biệt hoa thường.
+ không sử dụng dấu " để biểu diễn chuỗi.
+ macro có phần mở rộng là .dv
ví dụ:
Sleep(1000)
;đợi 1 giây sau đó vào trang google.com
Go('https://google.com')
Dấu ; được sử dụng để viết chu thích trong macro.
Một số cú pháp cơ bản:
- Khai báo biến:
Cú pháp
var ten_bien
- Khai báo mảng:
Cú pháp
var ten_bien = []
- Lệnh rẽ nhánh:
Cú pháp
Loại 1
if(dk)
  ;nếu thỏa mãn điều kiện thì thực hiện
endif
Loại 2(if ... else ...)
if(dk)
  ;nếu thỏa mãn điều kiện thì thực hiện
else
  ;nếu không thỏa điều kiện thì thực hiện
endif
Loại 3(if ... elseif ...)
if(dk1)
  ;nếu thỏa mãn dk1 thì thực hiện
elseif(dk2)
  ;nếu không thỏa dk2 thì thực hiện
.....
elseif(dkn)
  ;nếu không thỏa dkn thì thực hiện
endif
- Nhãn:
là một định danh để đánh dấu vị trí trong chương trình. Tên của nhãn có thể bao gồm chữ cái, chữ số và dấu gạch dưới (_), nhưng nó phải bắt đầu bằng ký tự chữ cái hoặc dấu gạch dưới.
cú pháp
ten_nhan:lenh

- Lệnh nhảy:
Macro không có lệnh while, for,... vì vậy để lặp ta sử dụng lênh jmp hoặc jmpif.
Sử dụng jmp(nhảy đến 1 nhãn nào đó)
jmp:nhãn cần nhảy đên

Sử dụng jmpif(nhảy đến 1 nhãn khi thỏa điều kiện)
jmpif(dk):nhãn cần nhảy đên
;nhảy nếu thỏa điều kiện

Một số ví dụ:
Sử dụng lệnh nhảy để tính tổng các số từ 1 -> 100.
var a = 0
var sum = 0
;tao 1 nhan
loop:sum=sum+a
a=a+1
jmpif(a < 101):loop
Alert('gia tri cua bien sum', sum)

[Lizardon - Macro] Hello World!

Mở Lizardon và click vào biểu tượng {} để gõ code.

Copy đoạn code dưới đây dán vào phần CodeEditor.

SetTitle('Lizardon - Hello World!')
Alert('Alert', 'HelloWorld')

Nhấn play để chạy macro

Xem kết quả

Lizardon - Một trình duyệt web đơn giản

- Giới thiệu:
Đôi khi bạn cần thực hiện công việc lặp đi lặp lại trên một website nào đó. Lizardon sinh ra nhằm mục đích tự động thự hiện lệnh được lập trình sẵn.
- Tính năng:
+ sử dụng như trình duyệt web.
+ thực hiện theo các lệnh được viết sẵn.
- ScreenShot:
- Download:
Lizardon v1.0

Update 22/10/2016 :)
 + xử lý download
 + xem xpath của các phần tử
 + thêm một số hàm với 2captcha
HD: copy tất cả các file dán đè các file trong thư mục Lizardon của tool