Thứ Hai, 14 tháng 8, 2017

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é.




Không có nhận xét nào:

Đăng nhận xét