Thứ Tư, 16 tháng 8, 2017

Bài 3: Các lệnh thiết lập trong imacros

  1. !ERRORIGNORE
  2. !URLCURRENT
  3. !USERAGENT
  4. !TIMEOUT 
  5. !TIMEOUT_STEP
  6. !REPLAYSPEED
     SET !ERRORIGNORE YES: Lệnh này có nghĩa là bỏ qua lỗi không tìm thấy (lỗi ở đối tượng chứ không phải lỗi code) nếu còn YES, dừng lại nếu chọn NO.

    Ví dụ: Code bạn đang chạy tới code nhấn nút like facebook. Và fanpage đó không có nút like và lệnh này không được thực thi -> imacros bị dừng

    Để imacros không bị dừng bạn thêm SET !ERRORIGNORE YES vào đầu file *.iim thì nếu code đấy không thực thi -> imacros sẽ bỏ qua và chạy các code tiếp theo

*!URLCURRENT: Lệnh này có nghĩa là lấy URL trên tab hiện tại
   Ví dụ:
   TAB T=1
   SET !VAR1 {{!URLCURRENT}}
   TAB OPEN
   TAB T=2
   URL GOTO={{!VAR1}}

    Giải thích: Ở tab 1 mình đã đặt biến !VAR1 là URL của tab 1, sau đó mở tab 2 và truy cập URL trong giá trí !VAR1(URL của tab 1).Có nghĩa là mình sao chép URL tab 1 sang tab 2

    SET !USERAGENT "useragent của máy"
    Lệnh này fake user agent cho trình duyệt của bạn

    SET !TIMEOUT n: Đặt thời gian timeout khi load
    Bạn truy cập vào 1 trang web và trang web ấy load rất lâu. Lệnh này đặt ra thời gian tối đa được load cho trang đấy ! Hết thời gian nó sẽ tiếp tục các code tiếp theo. Đơn vị n là giây

    SET !TIMEOUT_STEP n
Có 1 code click vào nút like chẳng hạn. Nhưng nút like đấy không tồn tại và code này đang phải tìm nút đấy. mặc định của lệnh này là 1/10 của lệnh SET !TIMEOUT. Đây là lệnh đặt thời gian tối đa có đơn vị là giây

   !REPLAYSPEED
    Tốc độ của imacros ! lệnh này không quan trọng
 
Tiếp đến ta qua bài thực hiện với dữ liệu file *.csv nhé

Thứ Hai, 14 tháng 8, 2017

Cách kiểm tra thuộc tính của thẻ cần thao tác với Imacro.

     Chào bạn!
     Nếu bạn muốn sử dụng được Imacro thì bạn nên biết được làm cách nào dễ dàng biết được thuộc tính các thẻ trên trang mình cần thao tác.
     Có rất nhiều cách, nhưng tôi hướng dẫn cho bạn các phổ biến và dễ dàng nhất nhé!
    Trước đây thì trình duyệt IE, Chrome hay FireFox đều chưa có chức năng này nên bắt buộc phải cài plugin vào mới sử dụng được. Nhưng bây giờ chức năng này quá phổ biến và tích hợp hầu như tất cả các trình duyệt




   Bạn nhấn phím F12 nhé nó sẽ hiện ra như thế này

    Bạn muốn kiểm tra đối tượng nào thì rê chuột vào đối tượng đó và chuột phải-> chọn kiểm tra đối tượng HTML thì bên dưới sẽ hiện thị cho bạn biết đối tượng đó có những gì.
    Dễ hiểu quá phải không. Vậy thì hãy xem những bài hướng dẫn khác để biết nhiều hơn về Imacros nhé.
 

Bài 2: Học Lệnh: TAG

     Chào các bạn bài trước tôi có hướng dẫn cho các bạn một số lệnh đơn giản để thao tác trên các tag
     Bài học hôm nay tôi dành riêng cho các bạn nói cụ thể hơn về lệnh TAG.
     Tại sao tôi lại có bài viết riêng về lệnh TAG? Lệnh TAG có quan trọng không?
     Theo tôi nếu như những người đã biết lập trình thì lệnh TAG đối với họ là quá rõ ràng. Họ chỉ cần nhìn vào và thấy rõ chức năng cũng như tầm quan trọng của nó. Ở đây, tôi viết riêng lệnh này nhằm vào những người chưa biết lập trình hoặc mới bắt đầu làm quen với lập trình. Tôi sẽ giới thiệu sơ về cấu trúc của lệnh TAG rồi dần hướng dẫn tại sao nó lại quan trọng đến như vậy nhé. Đầu tiên lệnh TAG có cấu trúc như sau:

    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]

  
    Bạn nhìn cấu trúc chắc bạn chưa hiểu gì đâu nhỉ! lệnhTAG này nó dùng để thực thi 1 lệnh như nhập nội dung hoặc nhấn 1 nút gì đó. Nói 1 cách dễ hiểu là nó dùng để thực hiện 1 hành động của phím hoặc chuột trên giao diện web. Tới đây bạn đã hiểu được tầm quan trọng của nó rồi phải không nào?
   
    Tôi ví dụ và giải thích rõ hơn nhé!
    Ví dụ: Tôi muốn tự động bấm nút like trên 1 trang FB, đầu tiên bạn phải xác định đó là thẻ gì? (<button>,<a>...) sau đó xác định nó có thuộc tính gì trong thẻ cần thao tác (class[được dùng chung cho nhiều thẻ], id[chỉ dùng duy nhất cho 1 thẻ])
   Sau khi bạn kiểm tra thuộc tính của thẻ like trong face có ID là "u_q_0" vậy bạn sẽ có đoạn code như sau

     TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_0
     
    TYPE=BUTTON thì không có gì phải thắc mắc rồi nhưng ATTR=ID:u_q_0 cái này thì có nghĩa là bạn sẽ thực thi lệnh click chuột và vào nút like có id duy nhất là u_q_0 nhưng thực ra nó còn có các id khác của nhiều nút like trên 1 trang như u_q_1, u_q_2, u_q_3, u_q_4 .... 
    Ồ! vậy thì ta muốn like tất cả thì phải làm thế nào? Dễ thôi, bạn cứ lấy giá trị chung của id nút like (u_q_), những giá trị như (0,1,2,3...) thì bạn sẽ thay bằng dấu * nhé. Khi đó imacros sẽ hiểu là tìm những ID có giá trị đầu là u_q_ còn phía sau thì nó không quan tâm. Vậy ta sẽ có đoạn code như thế này:

    TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_*

   Ok, đến đây thì bạn đã hiểu được phần nào của lệnh TAG rồi phải không? 
   Trong lệnh TAG có lệnh XPATH dùng chứa đường dẫn đến nơi ta cần thao tác theo từng thẻ, theo tôi nếu các bạn hiểu XPATH thì tôi cá rằng các bạn có thể thao tác dễ dàng, chính xác trên mọi trang web nhé. Tôi đưa ra ví dụ và bạn hãy làm theo tôi thì sẽ dễ hiểu hơn nhé.

Đầu tiên bạn tạo 1 file demon.imm với nội dung

TAB T=1    
TAB CLOSEALLOTHERS 
URL GOTO=http://demo.imacros.net/Automate/TestForm1
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[1]/input[1]" CONTENT="Tom Tester"
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[2]/select" CONTENT=$Pizza
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[3]/select" CONTENT=$Water
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[4]/input[2]" CONTENT=YES
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[5]/select" CONTENT=$Apple<SP>Pie:$Fruits
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[6]/input[1]" CONTENT=Yes
SET !ENCRYPTION NO
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[6]/input[2]" CONTENT=demo123
TAG XPATH="id('demo')/fieldset[1]/ol[1]/li[7]/textarea" CONTENT="Hi!\n\niMacros fills  forms;-)\n\nTom"

WAIT SECONDS=5
TAG XPATH="id('demo')/fieldset[2]/button"
WAIT SECONDS=5
URL GOTO=http://demo.imacros.net/Automate/OK



Sau đó Play file demo.iim. Bạn xem nó chạy như thế nào rồi quay lại đây đọc tiếp nhé!
Tôi làm tách cafe đã cho đỡ buồn ngủ đây
    Vậy là bạn đã hiểu XPATH rồi phải không? nó là đường dẫn đến các đối tượng cần thao tác dựa vào đó mà ta có những hành động lên đối tượng đó thông qua các lệnh CONTENT
    Đến đây nghỉ ngơi tý nhé! Nếu có gì thắc mắc cứ comment bên dưới hoặc đợi bài tiếp theo của tôi nhé.




Chủ Nhật, 13 tháng 8, 2017

Bài 1: Học cách lên đơn giản:' ,TAB, URL, WAIT, REFRESH, BACK, CLEAR, SET, ADD, LOOP, CLICK

Nối tiếp bài trước về cách cài đặt Imacros

Tiếp theo chúng ta học một số các lệnh căn bản trong Imacros nhé:
Các lệnh căn bản nhất mình dạy trong bài học này gồm:
  1.  '
  2. TAB
  3. URL
  4. WAIT
  5. REFRESH
  6. BACK
  7. CLEAR
  8. SET
  9. ADD
  10. LOOP
  11. CLICK
  • Lệnh  ' dùng để ghi chú trong code (hệ thống sẽ không thực thi những gì sau lệnh ')

  • Lệnh TAB bao gồm các lệnh kèm theo:
  1. TAB OPEN: thực hiện dùng để mở thêm 1 Tab trình duyệt mới
  2. TAB T=n: Nhảy tới tab số n. Thay n bằng số. Lưu ý là nếu bạn chỉ có 2 tab đang mở thì không thể nhảy tới tab số 3
  3. TAB CLOSE: Đóng tab hiện tại đang thao tác.
  4. TAB CLOSEALLTHERS: Đóng tất cả các tab khác trừ tab hiện tại

  • Lệnh URL
      URL GOTO=Link trang web
      URL GOTO=https://hocimacrosscript.blogspot.com 
    hay URL    GOTO=hocimacrosscript.blogspot.com đều giống nhau

  • Lệnh WAIT
       WAIT SECONDS=n Chờ n giây.Thay n bằng một số nào đấy

  • Lệnh REFRESH
    Chỉ đơn giản là làm mới lại trang giống nút F5 mà thôi



  • Lệnh BACK

    Quay lại trang trước.



  • Lệnh CLEAR

    Xóa sạch cache, cookie, data của trình duyệt



  • Lệnh SET

     Đặt giá trị cho 1 biến

     Ví dụ:

     SET !VAR1 50 nghĩa là gán giá trị 50 cho biết VAR1

     và gọi biến đó ra bằng cách {{VAR1}}
 
      Ví dụ:  WAIT SECONDS={{VAR1}} có nghĩa là WAIT SECONDS=50



  • Lệnh ADD

      Thêm (cộng) giá trị cho 1 biến

      Ví dụ:
       giá trị !VAR1 vừa rồi có giá trị là 50
      ADD !VAR1 40

      Nghĩa là cộng thêm giá trị 40 vào biến !VAR1 và giá trị hiện tại của VAR1 là 90



  • Lệnh LOOP

     Đây là lệnh lặp. Cách ứng dụng đơn giản nhất là đặt SET !LOOP -100 ở cuôi file *.iim thì nó có nghĩa là chạy lặp 100 lần.
  • Lệnh CLICK 
     CLICK X=n Y=mvào một vị trí có tọa độ X/Y trên trang web, đơn vị tọa độ xác định là pixel
    




Tiếp theo chúng ta hãy tự code cho mình và chạy thử xem mình đã hiểu đến đâu nhé. Tôi sẽ đưa ra ví dụ cho bạn và bạn dựa vào đó mà thực hành nhé.

Ví dụ 1: Căn bản nhất

TAB T=' mở 1 tab mới

URL GOTO=hocimacrosscript.blogspot.com 'gán url vào tab vừa mở và load url

WAIT SECONDS=20 'sau khi load xong thì đợi thêm 20s rồi thực hiện tiếp lệnh dưới

URL GOTO=google.com 'gán url vào tab đang sử dung và load url

WAIT SECONDS=10 'sau khi load xong thì đợi thêm 10s rồi thực hiện tiếp lệnh dưới

CLEAR 'Xóa sạch dữ liệu trên trình duyệt


 
'Lưu ý với các bạn lệnh url khi đã được load xong trang nó mới kết thúc lệnh


Ví dụ 2: Bài học với biến !VAR1 và !VAR2

TAB T=1'mở 1 tab mới

SET !VAR1 20 ' gán giá trị 20 cho biến 

SET !VAR2 15 ' gán giá trị 15 cho biến

URL GOTO=hocimacrosscript.blogspot.com 'gán url vào tab vừa mở và load url

REFRESH 'refresh lại tab đang sử dụng

WAIT SECONDS={{VAR1}} 'sau khi load xong thì đợi thêm 20s rồi thực hiện tiếp

URL GOTO=google.com 'gán url vào tab vừa mở và load url

WAIT SECONDS={{VAR2}} 'sau khi load xong thì đợi thêm 15s rồi thực hiện tiếp

ADD !VAR1 5

URL GOTO=hocimacrosscript.blogspot.com 'gán url vào tab vừa mở và load url

WAIT SECONDS={{VAR1}} 'sau khi load xong thì đợi thêm 20s rồi thực hiện tiếp

BACK 'lui trở về trang google.com

CLEAR 'xóa sạch dữ liệu trình duyệt

SET !LOOP -100 'lập lại 100 lần




Qua 2 ví dụ trên các bạn kiểm tra xem mình hiểu được tới đâu. Nếu có gì thắc mắc thì hãy cmt bên dưới nhé, tôi sẽ giải đáp thắc mắc cho các bạn.
 

Thứ Sáu, 11 tháng 8, 2017

Cách cài đặt Imacros trên trình duyệt


  • Đầu tiên bạn Google.com và gõ từ khóa là "imacros for firefox" nếu dùng trình duyệt Firefox,"imacros for chrome" nếu dùng trình duyệt Chrome

 
  • Sau đó chọn dòng đầu tiên nó sẽ ra như thế này:
 

  • Cài đặt xong trên thanh trình duyệt sẽ có biểu tượng  
  • Click vào biểu tượng nó sẽ hiện bên trái trình duyệt như thế này
  • Trên đây là cách cài đặt Imacros trên FireFox nhé, Cài đặt Chrome cũng tương tự nhé
  • Vậy là xong bước cài đặt nhé, mình sẽ hướng dẫn sử dụng ở bài sau.