Tutorial Kiến thức iMacros căn bản cho người mới

manhtienhp92

Hero
Verified
Joined
Jun 24, 2014
Messages
1,107
Reactions
1,023
MR
0.103
Follow me on Facebook Chat with me via Skype
các pro cho hỏi code vượt capcha hình ảnh hoặc code chạy đến đoạn phải nhập capcha thì dừng lại mình nhập capcha bằng tay xong tự chạy tiếp với ạ.
trước thấy bác nào share rồi mà lục lại khong thấy .:(
xin code thì cũng phải nói rõ là captcha gì, dùng dịch vụ gì để giải thì mn mới biết có code đó k mà share chứ cậu
 

k37358

Newbie
Joined
Jul 31, 2018
Messages
12
Reactions
0
MR
0.000
xin code thì cũng phải nói rõ là captcha gì, dùng dịch vụ gì để giải thì mn mới biết có code đó k mà share chứ cậu

em hỏi ké bác trên với ạ. Captcha dạng như này ạ.
 

Attachments

  • captcha.jpg
    captcha.jpg
    35.9 KB · Views: 155
xin code thì cũng phải nói rõ là captcha gì, dùng dịch vụ gì để giải thì mn mới biết có code đó k mà share chứ cậu
code hình ảnh google bác, em xin tham khảo.
1 code đến chỗ phải nhập capcha thì tools tạm dừng, mình nhập capcha xong thì tools tự động chạy tiếp.
2 code vượt capcha hình ảnh google dùng ứng dụng bên thứ 3 ( cái này không rành nên các pro thấy thằng nào dễ dùng + tùy biến được thì chỉ ?
 

mr.coi

Hero
Joined
May 16, 2010
Messages
3,061
Reactions
1,072
MR
0.034
cảm ơn các bác ạ. Còn cái code mà sau mỗi lần đăng nhập rồi đăng xuất ra đăng nhập lại cái username tăng thêm 1 số thì viết như nào ạ? em muốn lặp đăng nhập rồi đăng xuất nhiều acc ạ.
 
code hình ảnh google bác, em xin tham khảo.
1 code đến chỗ phải nhập capcha thì tools tạm dừng, mình nhập capcha xong thì tools tự động chạy tiếp.
2 code vượt capcha hình ảnh google dùng ứng dụng bên thứ 3 ( cái này không rành nên các pro thấy thằng nào dễ dùng + tùy biến được thì chỉ ?
PHP:
var captcha_key ="xxxxxxxxxxxxxxxxxxxxx"
var a=window.content.document.getElementsByTagName('iframe')
for(var x=0; x<a.length ; x++){
 if(a[x].src.includes('https://www.google.com/recaptcha/api2/anchor?')){
 var key =a[x].src.split('&k=')[1].split('&')[0]}
}
var url = window.location.hostname;
if(url.startsWith("www")){
url=url.replace("www.","")
}
var macro = "CODE:";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "SET !ERRORIGNORE YES" + "\n";
macro += "SET !EXTRACT null" + "\n";
macro += "TAB OPEN" + "\n";
macro += "TAB T=2" + "\n";
macro += "URL GOTO=http://2captcha.com/in.php?key="+captcha_key+"&method=userrecaptcha&googlekey="+key+"&pageurl="+url+"&soft_id=1607" + "\n";
macro += "WAIT SECONDS=1" + "\n";
macro += "TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT" + "\n";
macro += "SET captid EVAL(\"var s=\\\"{{!EXTRACT}}\\\"; s.split(' ')[0].split('|')[1]\")" + "\n";
macro += "SET !EXTRACT NULL" + "\n";
macro += "URL GOTO= http://2captcha.com/res.php?key="+captcha_key+"&action=get&id={{captid}}" + "\n";

var macro2 = "CODE:";
macro2 += "TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT" + "\n";
macro2 += "SET answer EVAL(\"var s=\\\"{{!EXTRACT}}\\\"; s.split(' ')[0]\")" + "\n";
macro2 += "SET !EXTRACT {{answer}}" + "\n";

var macro3 = "CODE:";
macro3 += "TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT" + "\n";
macro3 += "SET answer EVAL(\"var s=\\\"{{!EXTRACT}}\\\"; s.split(' ')[0].split('|')[1]\")" + "\n";
macro3 += "SET !EXTRACT {{answer}}" + "\n";
macro3 += "TAB CLOSE" + "\n";
macro3 += "WAIT SECONDS=0.3" + "\n";
macro3 += "TAG POS=1 TYPE=TEXTAREA FORM=ID:* ATTR=ID:g-recaptcha-response CONTENT={{answer}}" + "\n";

iimPlay(macro);
iimPlay(macro2);
var answer=iimGetLastExtract();

while(answer=="CAPCHA_NOT_READY")
{
 iimDisplay("solving captcha, please wait!!!!!!!!")
 iimPlayCode("WAIT SECONDS =5");
 iimPlay("CODE:REFRESH");
 iimPlay(macro2);
 var answer=iimGetLastExtract();
}
iimDisplay("captcha solved,congrat!!!")
iimPlay(macro3);
Giải recaptcha = dịch vụ 2captcha
 
cảm ơn các bác ạ. Còn cái code mà sau mỗi lần đăng nhập rồi đăng xuất ra đăng nhập lại cái username tăng thêm 1 số thì viết như nào ạ? em muốn lặp đăng nhập rồi đăng xuất nhiều acc ạ.
xem 2 page đầu tiên của topic này là làm đc thôi :oops:
 

Smee

Newbie
Joined
Jul 31, 2018
Messages
11
Reactions
0
MR
0.000
Hiện nay imacros đã update lên phiên bản mới, và addon cho firefox bị giới hạn số dòng, không cho load sỏurce bằng file nữa. Mún dùng thì phải có tài khoản tải file mở rộng để dùng được tính năng load dữ liệu bằng file txt hoặc csv . Ban nào có file mở rộng này hoặc có tải khoản thì cho mình xin với.
https://wiki.imacros.net/Webextensions#Add_File_Access
 
Hiện nay imacros đã update lên phiên bản mới, và addon cho firefox bị giới hạn số dòng, không cho load sỏurce bằng file nữa. Mún dùng thì phải có tài khoản tải file mở rộng để dùng được tính năng load dữ liệu bằng file txt hoặc csv . Ban nào có file mở rộng này hoặc có tải khoản thì cho mình xin với.
https://wiki.imacros.net/Webextensions#Add_File_Access
thì đừng có up lên ver mới làm gì. Cứ firefox 56 chạy iMacros v.8.9.7 là ok
 
thì đừng có up lên ver mới làm gì. Cứ firefox 56 chạy iMacros v.8.9.7 là ok
nhưng éo le ở chỗ chỉ có thằng firefox quantum mới nhất mới chạy được addon muti account profile bạn ạ. Căng vậy đó, các addon chia account khác khá dở, ko bằng cái addon vừa được phát triển của firefox.
 
có 1 mẹo làm thay nhưng mình đọc chưa hiểu lắm. Bạn nào giải thích rõ hơn tí dc ko ạ
  1. To input data from CSV files, use an html file with a table where your data is displayed on a browser tab, see below. Tag the table elements from that tab instead of reading from a file.

<html>
<head>
<style>
.table
{
width: 100%
}
.row .cell
{
padding: 5px;
border: 1px solid black;
}

</style>
<script>
window.onload = function () {
var datasource = document.getElementById('datasource');
datasource.addEventListener('change', function (e) {
var csvFile = datasource.files[0];
var fileReader = new FileReader();
fileReader.onloadend = function (e) {
var table = document.getElementById('table');
var lines = fileReader.result.split(/\r?\n/);
var n = 0;
lines.forEach(function (line) {
n++;
var tr = document.createElement("tr");
tr.setAttribute("class", "row");
tr.setAttribute("id", "row_" + n);
var cells = line.split(/,/);
var m = 0;
cells.forEach(function (cell) {
var td = document.createElement("td");
m++;
td.setAttribute("id", "cell_" + n + "-" + m);
td.setAttribute("class", "cell");
var text = document.createTextNode(cell);
td.appendChild(text);
tr.appendChild(td);
});
table.appendChild(tr);
});
}
fileReader.readAsText(csvFile);
}, false);
}
</script>
</head>
<body>
Select CSV file:
<input type="file" id="datasource" />
<div>Table with loaded CSV file:</div>
<table id="table" class=table></table>
</body>
</html>
 
Em thấy dùng DATASOURCE nhưng mà add-on trên firefox vớ chrome giờ k dùng đc lệnh ý nữa ạ. Em tải thử firefox 46 + imacros v8.9.7 nhưng k cài đc vào firefox ạ :(
tải firefox 49, tắt auto update firefox đi, rồi tải imacros 8.9.7, cài xong cũng tắt auto update iMacros đi.
 

khoailang

Junior
Joined
Dec 21, 2012
Messages
188
Reactions
165
MR
0.001
Hiện nay imacros đã update lên phiên bản mới, và addon cho firefox bị giới hạn số dòng, không cho load sỏurce bằng file nữa. Mún dùng thì phải có tài khoản tải file mở rộng để dùng được tính năng load dữ liệu bằng file txt hoặc csv . Ban nào có file mở rộng này hoặc có tải khoản thì cho mình xin với.
https://wiki.imacros.net/Webextensions#Add_File_Access
thím kéo lại page 34 tìm nhé, trước m có share rồi mà :popo_angry:
nhưng éo le ở chỗ chỉ có thằng firefox quantum mới nhất mới chạy được addon muti account profile bạn ạ. Căng vậy đó, các addon chia account khác khá dở, ko bằng cái addon vừa được phát triển của firefox.
thím tải bản Firefox Developer 56 (Developer - dành cho các nhà lập trình) nó cũng hỗ trợ e10s đa tiến trình như các bản firefox 57+...còn các bản firefox "thường" (bản từ 56 trở xuống) các addon cũ sẽ ko tương thích với e10s lên ko kích hoạt được, với bản Firefox Developer 56 thì hỗ trợ e10s vẫn cài imacro 8.9.7 như bình thường.
còn với addon muti account profile, thím vào phần versions của addon tải phiên bản cũ hơn,
thường thì chỉ chênh nhau 1-2 phiên bản cũng không quá khác biệt nhiều.
p/s: chả có j éo le cả, tại các thím lười tìm hiểu thôi :popo_big_smile:
 
Last edited:

xiaoken

Junior
Joined
Aug 5, 2014
Messages
266
Reactions
92
MR
0.053
cho mình xin cách đưa biến iim vào js với
Ví dụ 1 giá trị được lấy trong file csv !COL1
hoặc 1 giá trị được xử lý !VAR1
hoặc 1 giá trị được extract là !EXTRACT
Các biến trên có thể là ký tự hoặc số
Giờ mình muốn đưa giá trị đó vào js thì làm thế nào
Code:
var a = 'bandau';
var j = 1;
var n = 5;
for (i = 1; i < 100;) {
    iimDisplay("test lan..."+i);
var macro;
    macro =  "CODE:";
    macro += "SET !TIMEOUT_TAG 10" + "\n";
    macro += "SET !TIMEOUT_PAGE 10" + "\n";
    macro += "SET !TIMEOUT_STEP 10" + "\n";
    macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
    macro += "SET !ERRORIGNORE YES" + "\n";
    macro += "SET !DATASOURCE E:\\test.csv" + "\n";
    macro += "SET !DATASOURCE_LINE " +i+ "\n";
    macro += "SET key "  +a+ "\n";  
    macro +=  "WAIT SECONDS=1" + "\n";
iimPlay(macro);
i++;
if (i - n == 0) {
   var n = n + 5;
   var macro1;
     macro1 =  "CODE:";
     macro1 += "SET !DATASOURCE E:\\filekey.csv" + "\n";
     macro1 += "SET !DATASOURCE_LINE " +j+ "\n";
  iimPlay(macro1);
    var a = '{{!COL1}}';
j++;}
}
 
cho mình xin cách đưa biến iim vào js với
Ví dụ 1 giá trị được lấy trong file csv !COL1
hoặc 1 giá trị được xử lý !VAR1
hoặc 1 giá trị được extract là !EXTRACT
Các biến trên có thể là ký tự hoặc số
Giờ mình muốn đưa giá trị đó vào js thì làm thế nào
Code:
var a = 'bandau';
var j = 1;
var n = 5;
for (i = 1; i < 100;) {
    iimDisplay("test lan..."+i);
var macro;
    macro =  "CODE:";
    macro += "SET !TIMEOUT_TAG 10" + "\n";
    macro += "SET !TIMEOUT_PAGE 10" + "\n";
    macro += "SET !TIMEOUT_STEP 10" + "\n";
    macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
    macro += "SET !ERRORIGNORE YES" + "\n";
    macro += "SET !DATASOURCE E:\\test.csv" + "\n";
    macro += "SET !DATASOURCE_LINE " +i+ "\n";
    macro += "SET key "  +a+ "\n"; 
    macro +=  "WAIT SECONDS=1" + "\n";
iimPlay(macro);
i++;
if (i - n == 0) {
   var n = n + 5;
   var macro1;
     macro1 =  "CODE:";
     macro1 += "SET !DATASOURCE E:\\filekey.csv" + "\n";
     macro1 += "SET !DATASOURCE_LINE " +j+ "\n";
  iimPlay(macro1);
    var a = '{{!COL1}}';
j++;}
}
Đầu tiên phải gán vào biến tạm !EXTRACT, sau đó mới gán vào biến cụ thể.
Vd gán col1 vào biến b
PHP:
var imacros = "CODE:";           
    imacros += "SET !DATASOURCE D:\\test.txt\n";
    imacros += "SET !DATASOURCE_LINE 1"\n";
    imacros += "SET !EXTRACT NULL\n";
    imacros += "SET !EXTRACT {{!COL1}}\n";
    iimPlay(imacros)
    var b = iimGetLastExtract();

Mấy cái khác cũng tương tự
 
Đầu tiên phải gán vào biến tạm !EXTRACT, sau đó mới gán vào biến cụ thể.
Vd gán col1 vào biến b
PHP:
var imacros = "CODE:";          
    imacros += "SET !DATASOURCE D:\\test.txt\n";
    imacros += "SET !DATASOURCE_LINE 1"\n";
    imacros += "SET !EXTRACT NULL\n";
    imacros += "SET !EXTRACT {{!COL1}}\n";
    iimPlay(imacros)
    var b = iimGetLastExtract();

Mấy cái khác cũng tương tự
ok đã đc . thanks
 
@Khoai lang cho mình hỏi lệnh nào để submit comment trên facebook nhỉ? Hiện tại chỉ nhập cmt được nhưng ko thể gửi cmt đó đi. Cứ nhập cmt vào khung xong là nó đứng lun cả trang.
p/s dùng lệnh này cũng ko dc EVENT TYPE=KEYPRESS SELECTOR=* KEY=13
 
Last edited:

Announcements

Forum statistics

Threads
426,440
Messages
7,177,077
Members
178,879
Latest member
Reversed
Back
Top Bottom