สอนใช้งาน iMacros : ตอนที่ 2 Scripts และ Commands

ต่อเนื่องจากบทความ สอนใช้งาน iMacros : ตอนที่ 1 วิธีติดตั้ง iMacros และใช้งานเบื้องต้น ผู้ที่ได้อ่านแล้วคงมีความเข้าใจในเบื้องต้น เกี่ยวกับการ หลักการทำงานของ iMacros ,วิธี record การทำงานบน Webpage และนำผลการบันทึกนั้นมาเปิดใช้งาน

IMacrosTutorial สอนใช้งาน Imacro สอนทำ SEO Blogger 

ก่อนจะกล่าวอะไรต่อไปผมอยากให้ผู้อ่านลองถามตัวเองก่อนว่า  เครื่องมือนี้ (iMacros) มีประโยชน์กับตัวคุณจริงหรือไม่? คุณต้องการเรียนรู้การใช้งาน iMacros จริงหรือไม่? ถ้าคำตอบคือไม่ผมก็ขอให้ผ่านบทความชุดนี้ไปเลย เพราะบทความชุดนี้จะต้องอ่านและทดลองทำไปด้วยจึงจะเกิดความเข้าใจและเห็นผล หากอ่านผ่าน ๆ แล้วไม่ได้ทำก็จะไม่มีทางเข้าใจเรื่องเหล่านี้ และจะเป็นการเสียเวลากับตัวคุณเอง

สำหรับบทความนี้ผมจะนำเสนอเพิ่มเติมอีก 4 ประเด็นคือ
1. รูปแบบ Script และ Command ของ Macro  ใน iMacros เป็นอย่างไร?
2. Command ที่สำคัญ และที่ใช้งานบ่อย ๆ ใน Macro  ที่ควรรู้จัก
3. การแก้ไข Script และ Command ในแต่ละ Macro 
4. การนำเข้า Macro จากภายนอก

รูปแบบ Script และ Command ของ Macro  ใน iMacros เป็นอย่างไร?

ในบทความตอนที่ 1 ผมได้สอนให้บันทึกกิจกรรมที่เราทำซ้ำ ๆ ด้วย iMacros และบันทึกออกมา ถ้าคุณลอง Click ขวาที่ List ทางซ้ายมือและเลือก Edit Macro ก็จะเห็นคำสั่งการทำงานที่มีเพียงไม่กี่บรรทัด

iMacros2.1 สอนใช้งาน Imacros

ตัวอย่าง ในที่นี้ผมได้บันทึกการ Submit บทความกับ Digg เอาไว้ และเมื่อเปิดขึ้นมาดูก็จะเห็น Script ต่าง ๆ ดังนี้

VERSION BUILD=6700624 RECORDER=FX     
TAB T=1      
URL GOTO=http://digg.com/      
TAG POS=1 TYPE=A ATTR=ID:header-login      
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/login/prepare/digg ATTR=NAME:username CONTENT=username      
SET !ENCRYPTION NO      
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/login/prepare/digg ATTR=NAME:password CONTENT=password      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://digg.com/login/prepare/digg ATTR=VALUE:Login      
TAG POS=1 TYPE=A ATTR=TXT:Submit<SP>New      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:url CONTENT=http://www.hackublog.com/       
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:thisform ATTR=ID:type-news      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:thisform ATTR=ID:submit_button      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:title CONTENT=หัวเรื่อง      
TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=ID:body CONTENT=เนื้อหาโดยย่อ      
TAG POS=1 TYPE=A ATTR=ID:topic-503      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:captcha CONTENT=รหัสCaptcha      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:submission-step-2 ATTR=ID:submit_button
TAG POS=1 TYPE=A ATTR=TXT:Logout

โค้ดด้านบนนี้ผมไม่ได้เขียนขึ้นมาเอง แต่เป็นโค้ดที่ได้จากการ RECORD (บันทึก) กิจกรรมที่ทำขณะ Submit บทความกับ Digg ด้วย iMarcro ซึ่งคุณเองก็สามารถทำได้โดยใช้วิธีในบทความตอนแรกที่ได้สอนไปแล้ว  และในทางปฏิบัติผลลัพธ์ที่เกิดขึ้นในจุดที่เป็นอักษรสีแดงของการบันทึกของแต่ละคน และแต่ละครั้งจะไม่เหมือนกัน

จากตัวอย่างด้านบนจะเห็นว่าโค้ดที่ได้นั้นใช้ได้กับบทความเดียว เราจึงเกิดแนวคิดว่า ทำอย่างไร Macro ที่เราสร้างจะใช้งานได้ทุกครั้ง? และทำอย่างไรจะใช้งานให้มีประสิทธิภาพมากที่สุด? 

คำตอบคือเราจะต้องรู้จักโค้ดของ Macro ให้มากขึ้น (ซึ่งหมายความว่าเราไม่จำเป็นต้องทราบทั้งหมด) และแก้ไข ดัดแปลงโค้ดที่ได้จากการ RECORD ให้เป็น และที่สำคัญพลิกแพลงใช้งานให้เป็นด้วย


Command ที่สำคัญ และที่ใช้งานบ่อย ๆ ใน Macro  ที่ควรรู้จัก

ถ้าสรุปโค้ดของ  Macro ผมขอแยกเป็น 2 ส่วนย่อย ๆ คือ ส่วนแรกคือการกำหนดเงื่อนไขและประกาศตัวแปรและส่วนที่สองคือส่วนดำเนินการ และโปรดสังเกตว่า โค้ดของ  Macro ไม่จำเป็นต้องมีส่วนจบ ถ้าไม่มีการดำเนินการใด ๆ ต่อแล้ว iMacro จะหยุดทำงานโดยอัตโนมัติ

1. Command ที่สำคัญในการกำหนดเงื่อนไขและประกาศตัวแปร

1.1 Command บรรทัดแรกเป็นการประกาศ VERSION ของ iMacro ที่เราได้ทำการบันทึกหรือเขียนไว้ 
VERSION BUILD=6700624 RECORDER=FX
ในกรณีเราเขียนเองอาจจะไม่มีข้อความ RECORDER=FX ก็ได้  และในทางปฏิบัติโค้ดบรรทัดนี้ไม่จำเป็นต้องแก้ไข

1.2 Command ที่กำหนดว่าจะให้ Macro กระทำกับ Tab ที่เท่าไร
TAB T=1  
ในกรณีที่เราเปิดใช้งาน Tab ใน Firefox Browser เอาไว้หลาย ๆ Tab และถ้าเราสั่งดำเนินการทันที iMacro ก็จะนับ Tab ปัจจุบันเป็น Tab ที่ 1 และนับ Tab อื่น ๆ เป็น Tab ที่ 2 ,3 ต่อไปเรื่อย ๆ ดังนั้นเราสวามารถกำหนดค่านี้เป็น TAB T=2 หรือ TAB T=3 ก็ได้

กรณีที่ไม่ต้องการให้เกิดความสับสนในการใช้ Tab คุณอาจจะเพิ่มคำสั่งด้านล่างเข้าไป เพื่อให้ Tab ที่ไม่เกี่ยวข้องถูกปิดไปทั้งหมด
TAB CLOSEALLOTHERS 

1.3 Command ที่ใช้กำหนดให้ข้ามการดำเนินการที่ผิดพลาดและดำเนินการอย่างอื่นต่อไป
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
Command 2 บรรทัดนี้นิยมใช้มากในกรณีที่สั่งให้ทำงานแบบ loop หรือมีการทำซ้ำหลาย ๆ รอบ เพราะจะช่วยให้การทำงานไม่จบลง เมื่อการทำงานยังไม่ครบตามที่ตั้งไว้

1.4 Command ที่ใช้ในการเรียกใช้ไฟล์ .csv
CMDLINE !DATASOURCE ชื่อไฟล์.csv
หรือ
SET !DATASOURCE ชื่อไฟล์.csv
หรือกรณีวางไฟล์เอาไว้นอก Folder Datasources เช่นวางไว้ที่ Drive D ก็ใช้คำสั่ง
SET !DATASOURCE D:\ชื่อไฟล์.csv
ไฟล์ .csv เป็นเหมือนเอกสารที่สามารถแบ่งข้อมูลออกเป็นแถวและหลักได้ ซึ่งสามารถเปิดแก้ไขในโปรแกรม MS Excel
และไฟล์ .csv จะถูกนำมาใช้ในกรณีที่ข้อมูลที่เราต้องการกรอกมีลักษณะทำซ้ำหลาย ๆ ครั้งด้วยรูปแบบเดียวกัน

เช่น ถ้าเราต้องการกนอก URL +Username +password 50 ชุด เราก็สร้างไฟล์ .csv ขึ้นมา 1 ไฟล์ ที่มี 50 แถว และมี 3 คอลัมน์ ที่ประกอบด้วย URL  Username และ password

iMacros Blogger SEO Facebook Tutorial   
แล้วใช้คำสังใน iMacro เรียกใช้ข้อมูลจากไฟล์  สำหรับรายละเอียดการสร้างไฟล์ เรียกใช้ไฟล์ DATASOURCE และการเรียกใช้ไฟล์จากDatasources จะกล่าวรายละเอียดในบทความตอนที่ 3 ครับ  


1.5 Command ที่เกี่ยวข้องกับการเรียกใช้งาน ไฟล์ .csv จาก Datasourse

Command ที่กำหนดการเรียกใช้ข้อมูลจาก Column ที่ 1 ถึง 3
SET !DATASOURCE_COLUMNS 3
เลข 3 คือจำนวน Column ที่เราจะเรียกใช้ข้อมูลอาจจะกำหนดเป็น 1 หรือ 9 ก็ได้ขึ้นอยู่กับข้อมูลนำเข้า

Command ที่กำหนดให้ทำซ้ำโดยใช้แต่ละแถวตัวแบ่งการดำเนินการแต่ละรอบของ LOOP
SET !DATASOURCE_LINE {{!LOOP}}

Command ที่กำหนดว่าการทำงานแบบ LOOP นั้นจะทำซ้ำตั้งแต่แถวใดในไฟล์ .csv จาก Datasourse
SET !LOOP 1
ถ้าใส่เลข 1 ก็แปลว่าเริ่มทำซ้ำจากบรรทัดที่ 1


1.6 Command ที่กำหนดเวลาในการโหลด Webpage
SET !TIMEOUT 30
เวลาปกติที่ Macro จะรอการเปิดหน้า Webpage เป็น 60 วินาที แต่ถ้าเราต้องการเร่งเวลาก็อาจจะเพิ่มคำสั่งนี้ลงไปให้เป็น 30 วินาที (ใส่เลข 30 เหมือนในตัวอย่าง) เป็นต้น 


1.7 Command ที่กำหนดเวลาในการดำเนินการแต่ละขั้นตอน
SET !TIMEOUT_STEP 3
SET !TIMEOUT_TAG 3
คำสั่งชุดนี้เป็นการกำหนด ให้รอการดำเนินการแต่ละขั้นตอนไม่เกิน 3 วินาที  สองคำสั่งนี้จะช่วยให้ Macro ทำงานเร็วขึ้น ซึ่งถ้าไม่ใช้ก็ไม่เสียหายอะไรเพราะค่าเดิมของ Macro จะตั้งไว้ที่ 6 วินาที 

1.8 Command ที่เกี่ยวข้องกับการกรอก Password บน Webpage
ใช้ Command ด้านล่างเมื่อไม่ต้องการให้มีการ Lock หรือจดจำการใช้ Password (แนะนำให้ตั้งแบบนี้)
SET !ENCRYPTION NO
ใช้ Command ด้านล่างเมื่อต้องการให้มีการจดจำการใช้ Password ไว้ใน temporarily ในเครื่องของเราในขณะที่ run Macro อยู่
SET !ENCRYPTION TMPKEY
และใช้Command ด้านล่างเมื่อต้องการให้ใช้รหัสผ่านจากรหัสที่เก็บไว้ในคอมพิวเตอร์ของคุณ (ในกรณีที่คุณบันทึกรหัสไว้บน Browser)
SET !ENCRYPTION STOREDKEY

1.9 Command ในการกำหนดค่าตัวแปร
ในการกำหนดค่าตัวแปรใน 1 Macro จะกำหนดได้ไม่เกิน 3 ตัวแปรซึ่งกำหนดได้โดยใช้ชุดคำสั่ง
SET !VAR1 ค่าตัวแปร1
SET !VAR2 ค่าตัวแปร2
SET !VAR3 ค่าตัวแปร3
ชุดคำสั่งด้านบนนี้จะใช้ในกรณีที่กำหนดตัวแปร 3 ตัวอาจจะกำหนดน้อยกว่านี้ก็ได้

และในการเรียกใช้ตัวแปรต่าง ๆ ทำได้โดยใช้โค้ด
{{!VAR1}}
เช่น ถ้าผมต้องการเรียกใช้ตัวแปรที่ 3 ซึ่งผมกำหนดไว้เป็น email ก็เรียกใช้โดย
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=ID:email CONTENT={{!VAR3}}
หรือถ้าคัวแปรที่ 1 เป็นชื่อโดเมนก็อาจจะเรียกใช้โดยโค้ดด้านล่างเป็นต้น
URL GOTO=http://{{!VAR1}}

1.10 การใส่ Comment ใน Macro
การใส่ comment ใน Marcro สามารถใส่ได้ไม่จำกัดแต่มีเงื่อนไขว่าจะต้องเริ่มบรรทัดใหม่และนำด้วยเครื่องหมาย '
เช่น ดู comment บรรทัดสีเขียวในโค้ดด้านล่าง
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=ID:homepage CONTENT=http://www.hackublog.com
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=ID:location CONTENT=USA
pause
'หยุดให้กรอก captcha ครับ กรอกแล้วกด Continue
การใส่ Comment ลงไปในลักษณะนี้ Macro จะเข้าใจว่าไม่ต้องนับการดำเนินการในขั้นนี้และข้ามไปบรรทัดอื่น

2. Command ที่สำคัญในการกำหนดการดำเนินการ


TAG เป็นคำสั่งที่ใช้เลือก HTML ในหน้า Webpage ซึ่งจะใช้ Parameter  POS, TYPE, FORM  และ ATTR เป็นตัวตัดสินเลือก HTML บนหน้า Webpage ในแต่ละจุด

การดำเนินการในเต่ละขั้นตอนจะนำด้วย TAG และจะมาควบคู่กับ Parameter POS, TYPE, FORM  และ ATTR  เช่น

TAG POS=1 TYPE=SELECT FORM=NAME:form1 ATTR=NAME:select1 CONTENT=2

แต่ก็ไม่จำเป็นเสมอไป และเราสามารถตัดการใช้ Parameter ที่ไม่จำเป็นทิ้งไปได้ดูรายละเอียดเพิ่มจากด้านล่าง 


2.1 POS (POSITION)
เป็น Parameter ที่ใช้ระบุตำแหน่งในกรณีที่ใน Webpage นั้น ๆ มีส่วนที่ซ้ำกันมากกว่า 1 แห่ง เช่น

POS=1


2.2 TYPE
เป็น Parameter ที่ใช้ระบุชนิดของ HTML ที่เราจะกระทำบนWebPage นั้น ๆ เช่น

TYPE=SELECT
TYPE=INPUT:TEXT
TYPE=A
TYPE=INPUT:SUBMIT
TYPE=INPUT:CHECKBOX
เป็นต้น


2.3 FORM
เป็น Parameter ที่สั่งให้กระทำกับ Tag Form ของ HTML บนWebPage นั้น ๆ เช่น
FORM=NAME:TestForm2
ในกรณีที่เราต้องการป้องกันความผิดพลาดจากเว็บไซต์ที่เปลี่ยนข้อมูล session ID แบบ ไดนามิก ได้ด้วย หรือพูดให้เข้าใจง่ายคือการเข้าถึงข้อมูลแต่ละครั้งบน Website นี้จะได้รหัสข้อมูลแตกต่างกัน ถ้าเราใช้ URL ที่บันทึกไว้ครั้งแรก ครั้งที่ 2 ที่เข้าไปอาจจะไม่พบ และ Macro จะไม่ทำงาน วึ่งแก้ปัญหานี้โดยใช้
FORM=ACTION:*
(เทคนิคนี้สำคัญมาก เหมาะเอาไปประยุกต์ใช้) เช่น
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=ID:email CONTENT={{!VAR3}}

2.4 ATTRIBUTE หรือตัวย่อใช้ว่า ATTR
เป็น Command ที่ใช้ในกรณีที่เราดำเนินการเกี่ยวกับ Text Link หรือ URL
ตัวอย่างคำสั่งกับ Text Link 
ATTR=TXT:some_name

ตัวอย่างคำสั่งกับ URL 
ATTR=HREF:some_url
โปรดสังเกตว่าค่าที่ต่อท้ายจะเป็นชื่อ Link หรือ URL

2.5 CONTENT
เป็น Parameter ที่ใช้ระบุข้อมูลที่เป็นรายละเอียดในการใช้งานแต่ละครั้ง เช่น ชื่อ password email ,URL หรือบทความที่จะนำไป Submit ซึ่งถ้าเราเขียนสคริปต์เป็นแล้วเราจะสามารถเรียกข้อมูลที่เป็น Content มาจาก Datasource หรือจากค่าตัวแปรที่กำหนดได้
ตัวอย่างการระบุข้อมูล CONTENT โดยตรง (กรณีกรอกชื่อว่า hackublog)
CONTENT=hackublog
ตัวอย่างกาเรียกใช้ข้อมูล CONTENT จากตัวแปร (กรณีเรียกใช้ตัวแปรที่ 2)
CONTENT={{!VAR2}}
ตัวอย่างการเรียกใช้ CONTENT จากคอลัมน์ของไฟล์ .csv จาก Folder Datasource (กรณีเรียกใช้ข้อมูลจาก คอลัมน์ ที่ 3)
CONTENT={{!COL3}}


2.6 Command GOTO
เป็นคำสั่งให้ไปยัง URL ที่ระบุ เช่น
URL GOTO=http://www.hackublog.com/
URL GOTO={{!COL1}}
URL GOTO={{!COL1}}/index.php?action=register

2.7 EXTRACT
เป็นคำสั่งที่ใช้ในการกรณีที่ต้องการเก็บข้อมูลบน Webpage ในหลายกรณ๊เช่น
Extract Complete Website
'เก็บ Webpage ทั้งหน้า
TAG POS=1 TYPE=HTML ATTR=* EXTRACT=HTM
'เก็บ Webpage เฉพาะที่เป็น TEXT ทั้งหน้า
TAG POS=1 TYPE=HTML ATTR=* EXTRACT=TXT
'เก็บ Webpage เฉพาะส่วนหัว
TAG POS=1 TYPE=HEAD ATTR=* EXTRACT=HTM
'เก็บ Webpage เฉพาะส่วน BODY เท่านั้น
TAG POS=1 TYPE=BODY ATTR=* EXTRACT=HTM
Extract Page Title
URL GOTO=http://www.hackublog.com/
TAG POS=1 TYPE=TITLE ATTR=* EXTRACT=TXT

ข้อมูลที่เก็บจะเป็นส่วน Title ของหน้า

Extract Page URL
ADD !EXTRACT {{!URLCURRENT}}

คำสั่งนี้สามารถประยุกต์ใช้ประโยชน์ได้มากเพราะสามารถเก็บ URL ของหน้าที่เปิดได้


2.8 SAVEAS
เป็นคำสั่งที่ต้องการให้มีการบันทึกข้อมูลบนหน้า Webpage หรือข้อมูลที่ได้จากการ EXTRACT ลงบนเครื่องคอมพิวเตอร์ของเรา เช่น
SAVEAS TYPE=EXTRACT FOLDER=* FILE==ชื่อไฟล์.csv
หรือ
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

2.9 <SP>
เป็นโค้ดที่ใส่คั่นให้ข้อความใน Macro มีการเว้นวรรค  

2.10 <BR>
เป็นโค้ดที่ใส่คั่นให้ข้อความใน Macro มีการขึ้นบรรทัดใหม่



การแก้ไข Script และ Command ในแต่ละ Macro

เราสามารถแก้ไขสคริปต์ในแต่ละ Macro ให้การทำงานมีประสิทธิภาพมากขึ้น เช่นการแก้ไขสคริปต์ของ Macro ที่ได้จากการอัดให้ใช้กับกรณีอื่น ๆ ได้ ซึ่งในที่นี้ทำได้ 2 วิธีดังนี้

วิธีแก้ไข Macro วิธีที่ 1
ให้เรียกใช้งาน Macro และเลือก List ทางซ้ายมือที่เราต้องการแก้ไข จากนั้นก็ทำการ แก้ไข เพิ่ม หรือลบโค้ด ที่ต้องการและบันทึก

สอน iMacro Submit bookmark และ Pligg
ตัวอย่าง
จาก Macro การ Submit บทความกับ Digg.com ที่ได้ยกตัวอย่างไปข้างต้นคือ
VERSION BUILD=6700624 RECORDER=FX     
TAB T=1      
URL GOTO=http://digg.com/      
TAG POS=1 TYPE=A ATTR=ID:header-login      
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/login/prepare/digg ATTR=NAME:username CONTENT=username      
SET !ENCRYPTION NO      
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/login/prepare/digg ATTR=NAME:password CONTENT=password      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://digg.com/login/prepare/digg ATTR=VALUE:Login      
TAG POS=1 TYPE=A ATTR=TXT:Submit<SP>New      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:url CONTENT=http://www.hackublog.com/       
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:thisform ATTR=ID:type-news      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:thisform ATTR=ID:submit_button      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:title CONTENT=หัวเรื่อง      
TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=ID:body CONTENT=เนื้อหาโดยย่อ      
TAG POS=1 TYPE=A ATTR=ID:topic-503      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:captcha CONTENT=รหัสCaptcha      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:submission-step-2 ATTR=ID:submit_button
TAG POS=1 TYPE=A ATTR=TXT:Logout
ผมสามารถดัดแปลงให้สามารถใช้ได้กับการ Submit บทความครั้งต่อไปโดยเติม Command ต่าง ๆ ที่ได้อธิบายไปแล้ว ได้ผลลัพธ์เป็น
VERSION BUILD=6700624 RECORDER=FX     
TAB T=1 
SET !ERRORIGNORE YES 
SET !ERRORCONTINUE YES
SET !TIMEOUT_STEP 3 
SET !TIMEOUT_TAG 3 
SET !VAR1 ใส่username
SET !VAR2 ใส่password 
SET !VAR3 ใส่URLที่ต้องการ Submit
URL GOTO=http://digg.com/      
TAG POS=1 TYPE=A ATTR=ID:header-login    
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/login/prepare/digg ATTR=NAME:username CONTENT={{!VAR1}}     
SET !ENCRYPTION NO      
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/login/prepare/digg ATTR=NAME:password CONTENT={{!VAR2}}     
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://digg.com/login/prepare/digg ATTR=VALUE:Login      
TAG POS=1 TYPE=A ATTR=TXT:Submit<SP>New      
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:url CONTENT={{!VAR3}}
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:thisform ATTR=ID:type-news      
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:thisform ATTR=ID:submit_button      
pause
'หยุดเพื่อกรอก หัวเรื่อง เนื้อหา เลือกหมวดหมู่ และกรอก Captcha เสร็จแล้วกด Continue   
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:submission-step-2 ATTR=ID:submit_button
TAG POS=1 TYPE=A ATTR=TXT:Logout
คำสั่งที่ผมได้เพิ่มเข้าไปมีอะไรบ้าง
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
คำสั่งด้านบนใส่เข้าไปเพื่อให้ Macro ไม่หยุดทำงานกลางคันโดยที่งานขั้นตอนบางขั้นตอนยังคงค้างอยู่ นั่นคือหากพบความผิดพลาดในการดำเนินการบางขั้นตอน Macro ก็จะยังทำงานอยู่

SET !TIMEOUT_STEP 3
SET !TIMEOUT_TAG 3
คำสั่งด้านบนใส่เข้าไปเพื่อให้การทำงานแต่ละขั้นตอนเร็วขึ้น ใช้เวลาอย่างมาก 3 วินาที
SET !VAR1 ใส่username
SET !VAR2 ใส่password
SET !VAR3 ใส่URLที่ต้องการ Submit
โค้ด้านบนใส่เข้าไปเพื่อให้การแก้ไขข้อมูลทำได้ง่ายขึ้น เช่นถ้าจะเปลี่ยนชื่อ รหัสผ่านที่ใช้ ก็แก้ได้ตรงค่าตัวแปร ไม่ต้องก็ในตำแหน่ง CONTENT ซึ่งช่วยลดความสับสนได้ดี
pause
ใส่เข้าไปเพื่อให้ Macro หยุดรอเรากรอกข้อมูล เมื่อเรากด Continue แล้ว Macro จึงจะทำงานต่อไป
'หยุดเพื่อกรอก หัวเรื่อง เนื้อหา เลือกหมวดหมู่ และกรอก Captcha เสร็จแล้วกด Continue
บรรทัดนี้เป็น Comment ไม่ได้ส่งผลต่อการทำงานเลย ถ้าคุณใช้เองอาจจะใส่หรือไม่ใส่ก็ได้

วิธีแก้ไข Macro วิธีที่ 2
แก้ไขโดยเข้าไปที่
C:\Documents and Settings\ชื่อผู้ใช้\My Documents\iMacros  
ซึ่งคุณจะพบกับไฟล์ของ Macro (ไฟล์สกุล .iim) อยู่ในโฟลเดอร์ Macro อยู่หลายไฟล์

สอนใช้งาน iMacros อย่างละเอียด

ให้เปิดไฟล์ที่ต้องการแก้ไขกับโปรแกรมชนิด Text Editor เช่น Notepad หรือ Wordpad ที่มีอยู่ในทุกเครื่องอยู่แล้ว (แนะนำให้ใช้ Wordpad)

สอน iMacro และ Blogger SEO

จากนั้นแก้ไขตามแนวทางที่อธิบายเอาไว้ในวิธีที่ 1 และบันทึก


การนำเข้า Macro จากภายนอกเพื่อใช้งาน

การนำ Macro จากภายนอกมาใช้งานทำได้คล้ายกับวิธีแก้ไข Macro ซึ่งทำได้ 2 วิธีดังนี้
วิธีนำเข้า Macro วิธีที่ 1

1.1 ให้เรียกใช้ iMacros ก่อน โดย Click ที่ icon ของ iMacros
1.2 จากนั้นมองทาง List ของ Macro ทางซ้ายมือคุณจะเห็นรายการแรกเป็น Macro ที่ชื่อว่า #Current.iim ทุกครั้งที่เปิดใช้งาน
1.3 ให้คลิกขวาเพื่อ Edit Macro ตัวนี้ แล้วลบ Script และ Command เดิมออก

ใช้ iMacro ทำ SEO 

1.4 จากนั้นวาง Script และ Command ของ Macro ที่ต้องการนำเข้าวางลงไปและบันทึกเป็นชื่อไฟล์ที่ต้องการ

 iMacros Auto Post

วิธีนำเข้า Macro วิธีที่ 2
กรณีที่ไฟล์ที่จะนำเข้าเป็นไฟล์ Macro ที่มีสกุล .iim อยู่แล้วคุณสามารถคัดลอกไปวางใน
C:\Documents and Settings\ชื่อผู้ใช้\My Documents\iMacros\Macros
 iMacro คือ ใช้งานอย่างไร Macro

บทสรุป
บทความนี้ผมได้แนะนำให้รู้จักรูปแบบ Script และคำสั่งที่สำคัญ รวมทั้งการแก้ไข Macro และการนำเข้า Macro จากภายนอกมาใช้งาน ซึ่งทั้งหมดนี้เป็นพื้นฐานสำคัญที่จะเอาไปต่อยอดในการใช้งานจริง สิ่งที่อยากฝากไว้คือ เมื่ออ่านเสร็จแล้วให้คุณทดลองทำด้วยตนเองและสังเกตความแตกต่างของคำสั่งต่าง ๆ ซึ่งจะทำให้คุณใช้งานได้อย่างชำนาญมากขึ้นและเป็นประโยชน์กับตัวคุณเองมากด้วย

หมายเหตุ
Script และคำสั่งที่แสดงให้ดูในตัวอย่างนี้ยังถือว่ายังไม่มีประสิทธิภาพสูงสุดเพราะยังต้องอาศัยให้เราคอยกำกับดูแลและกรอกข้อมูลช่วยอยู่ Macro ที่ดีควรจะต้องทุ่นแรงเราให้มากที่สุดและทำงานได้ตรงวัตถุประสงค์ที่เราต้องการมากที่สุดด้วย

ในบทความตอนที่ 3 ผมจะนำเสนอวิธีนำเข้าข้อมูลที่อยู่ในรูป Matrix นั่นคืออยู่ในรูปแถวและหลัก ซึ่งสามารถกำหนดด้วยไฟล์สกุล .CSV ที่สร้างด้วยสมุดงาน Binary ของ Microsoft Excel ซึ่งเมื่อเราใช้ข้อมูลในรูป Matrix มาช่วยก็จะทำให้เราสามารถสั่งให้ Macro ทำงานซ้ำได้หลาย ๆ รอบ  และเราจะกรอกข้อมูลน้อยลง ซึ่งในบางกรณีเราอาจจะปล่อยให้ iMacro ทำงานแทนเราอย่างอัตโนมัติได้เลย

ถ้าสนใจก็ติดตามอ่านต่อในตอนต่อไป บทความนี้ขออภัยที่ครั้งแรกเขียนไม่จบเพราะไปต่างจังหวัดมา 2 คืน กลับมาก็เลยเขียนต่อได้จนจบ หวังว่าคงเป็นประโยชน์กับผู้เริ่มต้นครับ สวัสดีครับ

ตอนนี้มีความคิดเห็น : 25 ความคิดเห็น
หากคุณมีปัญหาหรือข้อสงสัยใดๆ สามารถสอบถามได้จากกล่อง comment ด้านล่างนี้ได้เลยครับ

  1. มีอะไรให้ช่วยหน่อยครับ คือผมต้องการเก็บurl ใน wp-admin นะครับที่มันมี15 อันนะครับ ตรงคำว่า View นะครับ มันใช้TYPE= ATTR= อะไรครับช่วยที

  1. @ tonrich2 : เข้าไปที่ wp-admin ขั้นแรกเปิด iMacros และ Record จากคลิกที่ลิงค์ที่ต้องการ เมื่อคลิกครบทั้ง 15 อันแล้วก็มานั่งดูโค้ดที่บันทึกไว้อีกทีครับ

  1. สอบถามนะคะ ถ้าจะให้วนลูปเพื่อเช็ค CAPCHA จะต้องเขียน code แบบไหนคะ
    เช่น เมื่อเจอ 1.jpg ให้ใส่ ตัวอักษร xxx
    เมื่อเจอ 2.jpg ให้ใส่ ตัวอักษร yyy

    ขอบคุณนะคะกับบทความดีๆ

  1. @ นภัส: ตอนนี้ยังใช้โค้ดของ iMacros ไม่ได้ครับ มีอยู่วิธีหนึ่งแต่ต้องเสียเงินมีคนโพสไว้ที่ ThiSEOboard ครับลองหาดูครับ

  1. รบกวนขอแบบ javascrip ด้วยครับ

  1. เพิ่มเติม

    WAIT SECONDS=เวลาที่ต้องการ

  1. เพิ่มเติม

    'รูปแบบการบันทึกแบบต่างๆ

    SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
    SAVEAS TYPE=HTM FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
    SAVEAS TYPE=TXT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
    SAVEAS TYPE=PNG FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

  1. ติดตามอยู่ครับ
    จะรอต่อไป...
    เยี่ยมจริงๆ

  1. อยากรู้ว่า ถ้าหากเรา save imacros ใส่ บุกมาร์ค เป็นแบบ JAVA แล้ว

    เราสามารถแปลงกลับมาเป็น โค็ต imacros แบบเดิม ได้หรือป่าวครับ + +

  1. ขอบคุณมากครับ ความรู้ทั้งนั้น

  1. ความคิดเห็นนี้ถูกผู้เขียนลบ
  1. รบกวนสอบถามหน่อยครับ พอดีใช้ Firefox รัน iMacro บน Windows XP SP3 และใช้งานแบบหลา่ย Profile เวลาผมรันและปล่อยให้วิ่งทิ้งไว้ครู่หนึ่ง มาดูอีกทีมันหยุดวิ่งทำงานครับ ไปจบอยู่ีที่คำสั่งบรรทัดสุดท้ายครับ ไม่รันคำสั่งใหม่ ไม่ทราบว่าต้องแก้ไขในส่วนไหนครับ รบกวนขอคำแนะนำด้วยครับ ขอบคุณครับ

  1. ขอบคุณมากๆเลยครับ งงอยู่ตั้งนานว่า ไอ้ Imacro มันทำงานซ้ำด้วย keyword เดิมก็ใช้เป็นนะ แต่หลายๆ keyword นี้ซิ จะต้องใช้ code ยังไงให้มัน Copy เอา keyword ที่เราหามามาทำเป็นเว็บอีก keyword หนึ่งไปเรื่อยๆหลายๆ keyword ทำให้มันรู้ได้ไงครับ ช่วยชี้แนะทีนะครับผมงง ต้องใส่โค็ดอะไรเพิ่มอะครับ

    ขอบคุณล่วงหน้าครับ

  1. ไม่สามารถ ใส่ Auto fill ผ่าน iMacro ที่เป็น Text area แบบ ที่มี Tool ให้ใส่ Code HTML ได้น่ะค่ะ

    นี่คือ Code ที่ IMACRO generate ออกมา

    TAG POS=1 TYPE=A ATTR=TXT:p

    แต่ได้ลองเพิ่ม content เข้าไปแต่ก้อไม่แสดงค่า แต่รันได้ปกติค่ะ
    TAG POS=1 TYPE=A ATTR=TXT:p CONTENT=DZ4

    ไม่ทราบว่าต้องทำยังไงถึง Auto Fill ได้คะ เพราะตอนนี้ รันเสร็จมันเป็น blank น่ะค่ะ

  1. ถ้าเราจะ เขียนคำสั่ง imacro คลิกปุ่มที่เป็ฯจาวาสคิบ ต้องใช้คำสั่งอะไรอ่ะคับ มันถึงจะคลิกให้ เพระาว่า imacro ปกติ คลิกไม่ได้อ่ะคับ

  1. ขอบคณครับ เยี่ยม!

  1. ต้องการ วนลูป login FB จาก Tab หนึ่ง พอ submit แล้วไปทำงานอีก tab ซึ่งพอรันถึง TAG POS=1 มันไม่ทำงานเลยอ่ะ หายไปเลยไม่รู้เป็นเพราะอะไร
    TAB T=2
    FRAME F=0
    SET !ENCRYPTION NO
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://www.facebook.com/login.php?login_attempt=1&popup=1&fbconnect=1&display=popup&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_path%3Dpermissions.request%26app_id%3D460477277322423%26redirect_uri%3Dhttp%253A%252F%252Fstatic.ak.facebook.com%252Fconnect%252Fxd_arbiter.php%253Fversion%253D18%2523cb%253Df285072c0c7f984%2526origin%253Dhttp%25253A%25252F%25252Faward.you2play.com%25252Ff38b2520d0353c8%2526domain%253Daward.you2play.com%2526relation%253Dopener%2526frame%253Df19c5305356ccc8%26sdk%3Djoey%26display%3Dpopup%26response_type%3Dtoken%252Csigned_request%26domain%3Daward.you2play.com%26fbconnect%3D1%26from_login%3D1%26client_id%3D460477277322423&legacy_return=1 ATTR=ID:email CONTENT=mink_pranisa@hotmail.co.th
    TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:https://www.facebook.com/login.php?login_attempt=1&popup=1&fbconnect=1&display=popup&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_path%3Dpermissions.request%26app_id%3D460477277322423%26redirect_uri%3Dhttp%253A%252F%252Fstatic.ak.facebook.com%252Fconnect%252Fxd_arbiter.php%253Fversion%253D18%2523cb%253Df285072c0c7f984%2526origin%253Dhttp%25253A%25252F%25252Faward.you2play.com%25252Ff38b2520d0353c8%2526domain%253Daward.you2play.com%2526relation%253Dopener%2526frame%253Df19c5305356ccc8%26sdk%3Djoey%26display%3Dpopup%26response_type%3Dtoken%252Csigned_request%26domain%3Daward.you2play.com%26fbconnect%3D1%26from_login%3D1%26client_id%3D460477277322423&legacy_return=1 ATTR=ID:pass CONTENT=48310194
    TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login_form ATTR=ID:u_0_1
    SET !TIMEOUT_STEP 3
    SET !TIMEOUT_TAG 3
    TAB T=2
    TAB CLOSE

  1. SPAN ATTR=TXT:
    ตัว SPAN มันคืออะไรครับ
    พอผมลองลบตัวนี้ออก บรรทัดไหน 1 บรรทัด
    ตัว imacro ก็จะไม่วิ่งเลย

  1. ขอบคุณมากครับ เป็นประโยชน์มาก ผมเพิ่งจะเริ่มสนใจ แต่ไม่มีความรู้เลยมาอ่านแล้ว เข้าใจง่ายและกระชับดีมากครับ

  1. รบกวนด้วยครับ อยากให้ imacros เก็บ url ที่เราเสริชจาก google.co.th ครับ คือจะเอาไว้โพสก์ขายของ

  1. ใช้งานได้ดีเยี่ยมเลยครับ ผมก็มั่วๆ เอาตามตัวอย่าง เออ มันเวิร์คเว่ย ดีกว่าใช้โปรแกรมช่วยคลิก(เปิดโปรแกรมช่วยคลิกล่ะทำอะไรกะหน้าจอไม่ได้เลย) ตัดปัญหานี้ไปเลย อิอิ

  1. พอจะมี บรรทัดไหนบ้างครับ ที่ สามารถ ให้ตัว imacros โพส ข้อความลงในช่องโพส ได้ครับ
    เหมือนว่าเรากำลังจะแชร์ ข้อมูลของเรา ให้เพื่อน เราจะต้องไปกดที่ช่องโพสข้อความ , ใส่ข้อความ , จากนั้นกด โพส ครับ ผมหาไม่เจอตรงที่ให้มันไปโพส ในช่องโพส อะครับ... งง ไหม ครับ

  1. รบกวนถามค่ะ โปรแกรมตัวนี้ใช้โพสข้อความตามกลุ่มได้ใหมคะ

  1. เวลาใช้ imacro บันทึกแล้วพอจะโพสต์ข้อความเวลารันแล้วมันไม่โพสต์รบกวนทีครับ
    TAG POS=1 TYPE=I ATTR=CLASS:imgsp_WpkyjR9rMvAsx_9b14df&&TXT:
    TAG POS=1 TYPE=INPUT:FILE ATTR=ID:js_0 CONTENT=C:\Users\Administrator\Desktop\Newfolder\10341882_291168867711056_3895689010071595525_n.jpg
    wait seconds=16
    TAG POS=1 TYPE=BUTTON FORM=ID:u_c_1 ATTR=TXT:โพสต์
    REFRESH

แสดงความคิดเห็น

ถ้าต้องการโพส HTML ให้แปลงโค้ดที่เครื่องมือด้านล่างนี้ก่อนครับ

สร้างบล็อก Facebook SEO บล็อก Linkwheel iMacros Link Wheel