iMacros แบบ deathbycaptcha ต่อให้มี captcha โผล่มาก็ไม่เป็นไร
1. สร้าง folder ชื่อ adwords เอาไปไว้ใน โฟล์เดอร์ macro (ที่เก็บไฟล์ iim ของ iMacro)
2. สร้างไฟล์ 2 ไฟล์ ชื่อ
captcha.iim และ
กรองไฟล์จาก adwords.js 2.1 ไฟล์ชื่อ
captcha.iim ใส่ code ดังนี้
TAB CLOSEALLOTHERS
SET !TIMEOUT_TAG 1
ONDOWNLOAD FOLDER=C:\Users\iMacros\Desktop\imagecaptcha FILE=image.jpg WAIT=YES
TAG POS=1 TYPE=IMG ATTR=SRC:https://adwords.google.com/o/Targeting/captchaData* CONTENT=EVENT:SAVEPICTUREAS
WAIT SECONDS=4
TAB OPEN
TAB T=2
URL GOTO=http://api.deathbycaptcha.com/decaptcher?function=picture2&print_format=html
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.deathbycaptcha.com/decaptcher ATTR=NAME:username CONTENT=user
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.deathbycaptcha.com/decaptcher ATTR=NAME:password CONTENT=password
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.deathbycaptcha.com/decaptcher ATTR=NAME:pict CONTENT=C:\Users\iMacros\Desktop\imagecaptcha\image.jpg
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.deathbycaptcha.com/decaptcher ATTR=VALUE:Send
WAIT SECONDS=3
TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
TAB T=1
TAG POS=20 TYPE=INPUT:TEXT ATTR=* CONTENT={{!EXTRACT}}
TAG POS=118 TYPE=INPUT:TEXT ATTR=* CONTENT={{!EXTRACT}}
TAG POS=119 TYPE=INPUT:TEXT ATTR=* CONTENT={{!EXTRACT}}
SET !EXTRACT NULL
WAIT SECONDS=5
SET !TIMEOUT 20
TAG POS=1 TYPE=BUTTON ATTR=TXT:Search
WAIT SECONDS=25
ความหมายของสีแดงคือ
C:\Users\iMacros\Desktop\imagecaptcha ---- ใส่ path ที่เก็บไฟล์รูป captcha (มีแก้ 2 ที่)
user ---- user ของ deathbycaptcha
password ---- pass ของ deathbycaptcha
2.2 ไฟล์ชื่อ
กรองไฟล์จาก adwords.js ใส่ code ดังนี้
var loopBegin = 1;
var maxROW = 4;
var maxCOL = 1;
var errtext1 = "Type the characters you see in the picture below.";
function step_1()
{
iimPlay("CODE:VERSION BUILD=7401004 RECORDER=FX"+"\n"
+"TAB T=1"+"\n"
+"SET !DATASOURCE C:\\Users\\iMacros\\Desktop\\extract_new_releases.csv"+"\n"
+"SET !DATASOURCE_COLUMNS "+maxCOL+"\n"
+"SET !LOOP "+loopBegin+"\n"
+"SET !DATASOURCE_LINE {{!LOOP}}"+"\n"
+"SET !ERRORIGNORE YES"+"\n"
+"SET !ERRORCONTINUE YES"+"\n"
+"SET !EXTRACT_TEST_POPUP NO"+"\n"
+"SET !TIMEOUT_TAG 1"+"\n"
+"SET !TIMEOUT 30"+"\n"
+"SET !EXTRACT NULL"+"\n"
+"WAIT SECONDS=20"+"\n"
+"TAG POS=1 TYPE=TEXTAREA ATTR=* CONTENT={{!COL1}}"+"\n"
+"WAIT SECONDS=1"+"\n"
);
}
function step_2()
{
iimPlay("CODE:VERSION BUILD=7401004 RECORDER=FX"+"\n"
+"SET !ERRORIGNORE YES"+"\n"
+"SET !ERRORCONTINUE YES"+"\n"
+"SET !EXTRACT_TEST_POPUP NO"+"\n"
+"TAG POS=1 TYPE=BUTTON ATTR=TXT:Search"+"\n"
+"WAIT SECONDS=25"+"\n"
);
}
function step_3()
{
iimPlay("CODE:VERSION BUILD=7401004 RECORDER=FX"+"\n"
+"SET !ERRORIGNORE YES"+"\n"
+"SET !ERRORCONTINUE YES"+"\n"
+"SET !EXTRACT_TEST_POPUP NO"+"\n"
+"TAG POS=6 TYPE=DIV ATTR=TXT:Download"+"\n"
+"WAIT SECONDS=1"+"\n"
+"TAG POS=1 TYPE=SPAN ATTR=TXT:All"+"\n"
+"WAIT SECONDS=1"+"\n"
+"SET !TIMEOUT_TAG 1"+"\n"
+"TAG POS=9 TYPE=SELECT ATTR=* CONTENT=%CSV"+"\n"
+"WAIT SECONDS=1"+"\n"
+"ONDOWNLOAD FOLDER=* FILE=*_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES"+"\n"
+"TAG POS=1 TYPE=SPAN ATTR=TXT:Download"+"\n"
+"TAG POS=1 TYPE=SPAN ATTR=TXT:Dismiss"+"\n"
);
}
function checkcaptcha()
{
iimPlay("CODE:SET !TIMEOUT_TAG 1"+"\n"
+"TAG POS=1 TYPE=DIV ATTR=STYLENAME:captcha-instructions&&TXT:Type<SP>the<SP>characters<SP>you<SP>see<SP>in<SP>the<SP>picture<SP>below. EXTRACT=TXT"+"\n"
);
xxx = iimGetLastExtract(1);
if(xxx == errtext1)
{
}
else
{
goCaptCha();
}
}
function goCaptCha()
{
iimPlay("adwords/captcha");
}
function start(){
while (loopBegin<=maxROW){
iimDisplay("Step 1 = Loop "+ loopBegin);
step_1();
iimDisplay("Step 2 = Loop "+ loopBegin);
step_2();
checkcaptcha();
iimDisplay("Step 3 = Loop "+ loopBegin);
step_3();
loopBegin++;
iimDisplay("Complete");
}
}
start();
ความหมายของสีแดงคือ
var loopBegin = 1; ---- อันนี้คือจะให้เริ่ม loop ที่เท่าไหร่ ให้แก้เฉพาะตัวเลข
var maxROW = 4; ---- อันนี้คือจะให้สิ้นสุด loop ที่เท่าไหร่ ให้แก้เฉพาะตัวเลข
จากตัวอย่าง code ที่ให้ หมายความว่า เริ่ม loop ที่ 1 ไปจนถึง loop ที่ 4
C:\\Users\\iMacros\\Desktop\\extract_new_releases.csv ---- อันนี้ให้ใส่ path ของไฟล์ CSV
ปล. ใน path ที่เราเอามาใส่ต้องมีเครื่องหมาย \\ คู่กันตลอด เช่น
C:\keyword\keyword.csv เราจะต้องใส่เป็น C:\\keyword\\keyword.csv
มีแค่นี้แหละครับ code อาจจะดูมั่วๆไปหน่อยนะครับ พอดีไม่ได้เรียนมาด้านเขียน code เลยต้องเปิดหนังสือไป เขียนไป
ปล. ต้อง login เข้าไปที่ adwords ก่อนนะครับ ไม่งั้น error เพราะ code ตอนที่ login กับไม่ login จะไม่เหมือนกัน

Google เปลี่ยน code ตลอดเลย
