ต่อเนื่องจากบทความ
สอนใช้งาน iMacros : ตอนที่ 1 วิธีติดตั้ง iMacros และใช้งานเบื้องต้น ผู้ที่ได้อ่านแล้วคงมีความเข้าใจในเบื้องต้น เกี่ยวกับการ หลักการทำงานของ
iMacros ,วิธี record การทำงานบน Webpage และนำผลการบันทึกนั้นมาเปิดใช้งาน
ก่อนจะกล่าวอะไรต่อไปผมอยากให้ผู้อ่านลองถามตัวเองก่อนว่า เครื่องมือนี้ (
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 ก็จะเห็นคำสั่งการทำงานที่มีเพียงไม่กี่บรรทัด ตัวอย่าง ในที่นี้ผมได้บันทึกการ 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 แล้วใช้คำสังใน
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 ทางซ้ายมือที่เราต้องการแก้ไข จากนั้นก็ทำการ แก้ไข เพิ่ม หรือลบโค้ด ที่ต้องการและบันทึก ตัวอย่าง จาก 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 อยู่หลายไฟล์ ให้เปิดไฟล์ที่ต้องการแก้ไขกับโปรแกรมชนิด
Text Editor เช่น Notepad หรือ Wordpad ที่มีอยู่ในทุกเครื่องอยู่แล้ว
(แนะนำให้ใช้ Wordpad) จากนั้นแก้ไขตามแนวทางที่อธิบายเอาไว้ในวิธีที่ 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 เดิมออก 1.4 จากนั้นวาง Script และ Command ของ Macro ที่ต้องการนำเข้าวางลงไปและบันทึกเป็นชื่อไฟล์ที่ต้องการ วิธีนำเข้า Macro วิธีที่ 2 กรณีที่ไฟล์ที่จะนำเข้าเป็นไฟล์ Macro ที่มีสกุล .iim อยู่แล้วคุณสามารถคัดลอกไปวางใน
C:\Documents and Settings\ชื่อผู้ใช้\My Documents\iMacros\Macros
บทสรุป บทความนี้ผมได้แนะนำให้รู้จักรูปแบบ
Script และคำสั่งที่สำคัญ รวมทั้งการแก้ไข Macro และการนำเข้า Macro
จากภายนอกมาใช้งาน
ซึ่งทั้งหมดนี้เป็นพื้นฐานสำคัญที่จะเอาไปต่อยอดในการใช้งานจริง
สิ่งที่อยากฝากไว้คือ
เมื่ออ่านเสร็จแล้วให้คุณทดลองทำด้วยตนเองและสังเกตความแตกต่างของคำสั่งต่าง
ๆ
ซึ่งจะทำให้คุณใช้งานได้อย่างชำนาญมากขึ้นและเป็นประโยชน์กับตัวคุณเองมากด้วย หมายเหตุ Script
และคำสั่งที่แสดงให้ดูในตัวอย่างนี้ยังถือว่ายังไม่มีประสิทธิภาพสูงสุดเพราะยังต้องอาศัยให้เราคอยกำกับดูแลและกรอกข้อมูลช่วยอยู่
Macro
ที่ดีควรจะต้องทุ่นแรงเราให้มากที่สุดและทำงานได้ตรงวัตถุประสงค์ที่เราต้องการมากที่สุดด้วย ในบทความตอนที่
3 ผมจะนำเสนอวิธีนำเข้าข้อมูลที่อยู่ในรูป Matrix
นั่นคืออยู่ในรูปแถวและหลัก ซึ่งสามารถกำหนดด้วยไฟล์สกุล .CSV
ที่สร้างด้วยสมุดงาน Binary ของ Microsoft Excel
ซึ่งเมื่อเราใช้ข้อมูลในรูป Matrix มาช่วยก็จะทำให้เราสามารถสั่งให้ Macro
ทำงานซ้ำได้หลาย ๆ รอบ และเราจะกรอกข้อมูลน้อยลง
ซึ่งในบางกรณีเราอาจจะปล่อยให้ iMacro ทำงานแทนเราอย่างอัตโนมัติได้เลย ถ้าสนใจก็ติดตามอ่านต่อในตอนต่อไป
บทความนี้ขออภัยที่ครั้งแรกเขียนไม่จบเพราะไปต่างจังหวัดมา 2 คืน
กลับมาก็เลยเขียนต่อได้จนจบ หวังว่าคงเป็นประโยชน์กับผู้เริ่มต้นครับ
สวัสดีครับ
ที่มา : http://www.hackublog.com/2010/08/imacros-tutorial-section-2-scripts-and.html