Các hàm JS dùng trong Selenium ExecuteScript hoặc Extension
function IMG_TO_TEXT_CAPTCHA69_COM() {
var dd=document.getElementById('id_element_captcha_text');
var w=dd.clientWidth;
var h=dd.clientHeight;
var canvas=document.createElement('canvas');
var ctx=canvas.getContext('2d');
canvas.height=h;
canvas.width=w;
ctx.drawImage(dd,0,0);
var body=canvas.toDataURL().replace(/^data:image\/(png|jpg);base64,/,"");
canvas=null;
var key = "point_YOUR_API_KEY"; // API KEY
var method = "base64";
var data_post= "key="+key+"&method="+method+"&body="+body;
var url_post = "https://captcha69.com/in.php";
var aj=new XMLHttpRequest();
aj.onreadystatechange=function() {
if(aj.readyState==4 && aj.status==200) {
var txt=aj.responseText.replace(/^\s+|\s+$/g,'');
var ID_CAPTCHA69 = "";
if(txt.trim().substr(0,3)=='OK|') {
ID_CAPTCHA69 = txt.trim().substr(3).trim();
data_post= "key="+key+"&action=get&id="+ID_CAPTCHA69;
url_post = "https://captcha69.com/res.php";
let checkId = setInterval(function() {
var aj2=new XMLHttpRequest();
aj2.onreadystatechange=function() {
if(aj2.readyState==4 && aj2.status==200) {
var txt2=aj2.responseText.replace(/^\s+|\s+$/g,'');
var RES_CAPTCHA69 = "";
if(txt2.trim().substr(0,3)=='OK|') {
clearInterval(checkId);
RES_CAPTCHA69 = txt2.trim().substr(3).trim();
document.getElementById("id_input_text_captcha").value = RES_CAPTCHA69;
document.getElementsByClassName("class_button_submit_form")[0].click();
} else if(txt2.includes("ERROR_")) {
clearInterval(checkId);
IMG_TO_TEXT_CAPTCHA69_COM();
}
}
};
aj2.open("POST",url_post,true);
aj2.setRequestHeader("Content-type","application/x-www-form-urlencoded");
aj2.send(data_post);
}, 5000);
} else if(txt.includes("ERROR_KEY_")) {
alert("API KEY Captcha69.Com sai!");
} else if(txt.includes("ERROR_ZERO_BALANCE")) {
alert("Tài khoản hết tiền!");
}
}
};
aj.open("POST",url_post,true);
aj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
aj.send(data_post);
}
let auto_find_element = setInterval(function() {
if(document.getElementById('id_element_captcha_text')!=null) {
clearInterval(auto_find_element);
IMG_TO_TEXT_CAPTCHA69_COM();
}
}, 2000);
| Biến | Mô tả |
|---|---|
id_element_captcha_text | ID của element chứa ảnh captcha (thẻ img) |
id_input_text_captcha | ID của input để điền kết quả captcha |
class_button_submit_form | Class của button submit form (lấy phần tử đầu tiên) |
point_YOUR_API_KEY | Thay bằng API key thật của bạn |