Hướng Dẫn Lập Trình iMacros Căn Bản

0
28

iMacros là một Extension cho Mozilla Firefox, Google Chrome, và các trình duyệt web Internet Explorer. Được phát triển bởi iOpus, phát hành vào năm 2001 và là công cụ ghi lại thao tác người dùng đầu tiên cho các trình duyệt web và các biểu mẫu điền.

iMacros cho Firefox và Chrome cung cấp một tính năng được gọi là social scripting. Nó cho phép người dùng chia sẻ các macro và các script tương tự như cách họ chia sẻ bookmark trên các trang web và mạng xã hội.

Cùng với các phiên bản miễn phí, iMacros cũng có phiên bản thương mại độc quyền, với các tính năng bổ sung và hỗ trợ cho kịch bản web, web scraping, giám sát máy chủ internet, và thử nghiệm web. Ngoài việc làm việc với các trang HTML, các phiên bản thương mại có thể tự động hóa Adobe Flash, Adobe Flex, Silverlight và Java applet bằng cách sử dụng công nghệ nhận dạng Directscreen và hình ảnh. Phiên bản miễn phí của iMacros không bao gồm một số các tính năng như code phức hợp, hàm điều kiện chỉ có trong các phiên bản thương mại.

Các phiên bản cao cấp có chứa một giao diện dòng lệnh và giao diện lập trình ứng dụng (API) để tự động hóa các nhiệm vụ phức tạp hơn và tích hợp với các chương trình hoặc các kịch bản khác. Các iMacros API được gọi là giao diện Scripting. Giao diện Scripting của iMacros Scripting Edition được thiết kế như là một Component Object Model (COM) và đối tượng cho phép người sử dụng để kiểm soát từ xa (script) Browser iMacros, Internet Explorer, Firefox và từ bất kỳ chương trình Windows hoặc ngôn ngữ script nào.

iMacros – TAB

  • Đây lệnh quản lí tab trên trình duyệt.
  • Nó bao gồm :
    • TAB OPEN – Mở 1 tab mới
    • TAB CLOSE – đóng tab hiện tại
    • TAB T=1 – Nhảy tới Tab 1(thay thế số 1 thành số mà bạn muốn nhảy tới)
    • TAB CLOSEALLOTHERS – Đóng hết tab khác trừ tab hiện tại

iMacros – URL

  • Đây là lệnh chuyển đến 1 URL nào đó trên tab hiện tại
  • URL GOTO=Link 1 trang web nào đó
    • URL GOTO=https://mmodata.online
    • URL GOTO=hocimacros.blogspot.com đều được

iMacros – WAIT

  • Lệnh chờ bao lâu rồi tiếp tục chạy tiếp các lệnh phía sau
  • WAIT SECONDS = số giây

iMacros – TAG

  • Đây lệnh thao tác trên trình duyệt như click vào mục nào đấy(ví dụ như click nút like fanpage trên facebook)
  • Bao gôm các cú pháp : TAG POS=n TYPE=type [FORM=form] ATTR=attr [CONTENT=some_content]
  • Đây là cú pháp thông dụng nhất
    TAG XPATH=”[xpath_expression]” [CONTENT=some_content]
    TAG SELECTOR=”[selector_expression]” [CONTENT=some_content]
  • Ví dụ bạn record lấy nút like facebook và có lệnh sau : TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_0 và bạn để ý u_q_0 chứ ! đây là ID nhận dạng nút like. Nhưng có rất nhiều ID khác cùng dạng như vậy u_w_1 hay u_u_5 hay u_p_9,…
  • Điều đấy có nghĩa là lệnh TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_0 sẽ không chạy với nhiều fanpage khác ! vậy phải làm sao ?
  • Đơn giản thôi ! bạn chỉ việc chỉnh lệnh lại thành : TAG POS=1 TYPE=BUTTON ATTR=ID:u_* Dấu * ở đây có nghĩa là đằng sau u_ là gì nó vẫn nhấn nút like
  • Với các nút khác như nút theo dõi,… có dạng như trên thì bạn làm tương tự

iMacros – CLICK

  • Click vào 1 tọa độ trên website mà bạn đặt
  • Cú pháp: CLICK X=(tọa độ) Y=(tọa độ)
  • Trong một trường hợp nào đấy mà lệnh TAG không hoạt động do cấu trúc script của site thì bạn có thể thử lệnh này

iMacros – CLEAR

  • Đây là lệnh xóa hết cookie, data của trình duyệt
  • Cú pháp: CLEAR
  • Chỉ được đặt một lệnh này 1 dòng.Phù hợp với việc RESET trình duyệt !

iMacros – PROXY

  • Cú pháp : PROXY ADDRESS=IPort
  • Đây lệnh sử dụng Proxy cho trình duyệt

iMacros – LOOP

  • SET !LOOP -100
  • Lặp lại 100 lần(thay số 100 thành số bạn muốn .đặt ở cuối code)

iMacros – ERRORIGNORE

  • SET !ERROREIGNORE YES
  • Bỏ qua lỗi code thực thi.
  • Ví dụ như imacros chạy đến code click nút like facebook mà không có nút like để click-> lỗi và imacros sẽ bị dừng. Nhưng có code này nó vẫn chạy các dòng code tiếp theo và lặp đủ hết số lần mới dừng.
  • Ngược lại với dòng code này là SET !ERROREIGNORE NO và cũng là mặc định của imacros

iMacros – USERAGENT

  • SET !USERAGENT “tên thiết bị”
  • Dùng để đổi useragent – thông tin nhận diện trình duyệt như trình duyệt firefox,chrome,trình duyệt di động,…
  • Ví dụ : SET !USERAGENT “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36”

iMacros – TIMEOUT

  • SET !TIMEOUT 60
  • Khi trình duyệt load 1 trang web nhưng trang web đấy load quá lâu(do mạng chậm,…) code này đặt ra thời gian tối đa trang web được load. Nếu quá thời gian nó sẽ tiếp tục các code tiếp theo(thay số 60 bằng một số khác bạn muốn, đơn vị là giây)
  • SET !TIMEOUT_STEP 10
  • Cũng tương tự như trên ! nhưng thay vì là trang web thì nó là các bước thực thi code! mặc định là 1/10 của TIMEOUT. (thay số 10 thành số khác bạn muốn, đơn vị là giây)

iMacros – DATASOURCE

  • Lệnh này có tác dụng với việc bạn có list Sock,list account,… và muốn thực thi với mỗi lần lặp. Ví dụ mình có list 10 tài khoản và imacros chạy 10 lần lặp ! Lần lặp 1 login account dòng 1 vào forum. Lần lặp 2 login account dòng 2 vào forum,…
  • Cấu trúc :
    • SET !DATASOURCE D:\list.csv (D:\file.csv là đường dẫn tới file. nếu chỉ có 1 cột thì dùng .txt nếu 2 trở lên nên dùng csv,csv là file excel)
    • SET !DATASOURCE_LINE {{!LOOP}} Nó có nghĩa là lặp lần 1 sử dụng dòng 1, lặp lần 2 sử dụng dòng 2 trong file list.csv
    • SET !DATASOURCE_COULUMNS 2 Đây là khai báo cột. Ví dụ file csv của bạn cột 1 là username,cột 2 là mật khẩu thì bạn khai báo sử dụng 2 cột. Thay số 2 vào các trường hợp khác
    • Bây giờ mình sẽ ví dụ code imacros login forum vozforums.com với list 10 account chẳng hạn và mình đã chuẩn bị 10 acc trong file list.csv nằm ở ổ D

SET !DATASOURCE D:\list.csv
SET !DATASOURCE_LINE {{!LOOP}}
SET !DATASOURCE_COLUMNS 2
TAB T=1
URL GOTO=https://vozforums.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:login.php?do=login ATTR=ID:navbar_username CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:pASSWORD FORM=ACTION:login.php?do=login ATTR=ID:navbar_password CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:login.php?do=login ATTR=*

Giải thích:
SET !DATASOURCE D:\list.csv – Khai báo địa chỉ file
SET !DATASOURCE_LINE {{!LOOP}}
SET !DATASOURCE_COLUMNS 2 Khai báo số cột
TAB T=1
URL GOTO=https://vozforums.com/ Truy cập trang vozforums
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:login.php?do=login ATTR=ID:navbar_username CONTENT={{!COL1}} Nhập vào ô username,bạn thấy {{!COL1}} chứ, nó là giá trị ở cột 1 dòng (số lần lặp hiện tại.Ví dụ đang ở lần lặp 2 thì nó lấy ở hàng 2)
TAG POS=1 TYPE=INPUT:pASSWORD FORM=ACTION:login.php?do=login ATTR=ID:navbar_password CONTENT={{!COL2}} Đây cột 2 và cũng tương tự như trên
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:login.php?do=login ATTR=* Ấn nút login
CLEAR xóa sạch cookiem,data trình duyệt

 

iMacros – EVAL

  • SET !VAR1 EVAL(“var min = 50; var max = 70; var randomNumber = Math.floor(Math.random() * (max – min + 1)) + min; randomNumber;”)
  • Đây là lệnh tạo 1 biến chạy random từ 50 đến 70. Bạn có thể sửa min = 50 mã = 70 thành giá trị khác
  • Ví dụ bạn có thể sử dụng giá trị !VAR1 như sau : WAIT SECONDS={{!VAR1}} Thời gian chờ random từ 50-70! Việc này giúp bạn khó bị nhận diện là robot hơn.

iMacros – SEARCH

  • SEARCH SOURCE=TXT hoặc REGEXP:”Nhận dạng dữ liệu cần lấy” IGNORE_CASE=YES EXTRACT=$1
  • Lệnh lấy thông tin từ trang. Hỗ trợ bạn làm auto get info nhé :)