try catch when 2captcha connection failed
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
const {_android: android, devices} = require("playwright");
|
||||
|
||||
const SolveCaptcha = require("./SolveCaptcha");
|
||||
const {SolveCaptcha, TWO_CAPTCHA_CONNECTION_FAILED} = require("./SolveCaptcha");
|
||||
const ReserveResultPojo = require("../models/ReserveResultPojo");
|
||||
const PublishType = require("../models/PublishType");
|
||||
|
||||
@@ -174,13 +174,14 @@ class CommandorPage {
|
||||
async clickValid(page) {
|
||||
await delay(getRandomWaitTime())
|
||||
try {
|
||||
if (!this.page.isClosed()){
|
||||
this.page.evaluate(() => {
|
||||
document.getElementsByClassName("btn")[0].focus();
|
||||
})
|
||||
await delay(getRandomWaitTime())
|
||||
this.page.evaluate(() => {
|
||||
document.getElementsByClassName("btn")[0].click();
|
||||
})
|
||||
})}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
@@ -194,7 +195,7 @@ class CommandorPage {
|
||||
this.captchaSolver = new SolveCaptcha(page);
|
||||
await this.captchaSolver.start((solution) => {
|
||||
console.log("solution is: " + solution);
|
||||
if (solution !== ERROR_CAPTCHA_UNSOLVABLE) {
|
||||
if (solution !== ERROR_CAPTCHA_UNSOLVABLE&&solution!==TWO_CAPTCHA_CONNECTION_FAILED) {
|
||||
try {
|
||||
if (!page.isClosed()){
|
||||
page.evaluate((solution) => {
|
||||
@@ -217,7 +218,7 @@ class CommandorPage {
|
||||
|
||||
if (content.toString().includes(captcha_url)) {
|
||||
await this.checkAudioBtn();
|
||||
console.log("we are blocked");
|
||||
console.log("发现datadome");
|
||||
} else {
|
||||
if (currentPage.url() === RDV_URL) {
|
||||
await this.fillFields(this.page);
|
||||
|
||||
+23
-17
@@ -1,5 +1,6 @@
|
||||
const axios = require("axios");
|
||||
const CAPCHA_NOT_READY = "CAPCHA_NOT_READY";
|
||||
const TWO_CAPTCHA_CONNECTION_FAILED = "TWO_CAPTCHA_CONNECTION_FAILED";
|
||||
const REGEX_DATA_SITE_KEY = "data-sitekey=[\"a-z0-9A-Z]+";
|
||||
const API_KEY = "d66aaf490d8aa424a5175e1fbd1aadea";
|
||||
const SITE_KEY = "6LdUViwUAAAAAOBJjtMsmKc9C7200Djd31w2mCs7";
|
||||
@@ -24,23 +25,28 @@ class SolveCaptcha {
|
||||
|
||||
async solve_captcha(site_key, handle_solution_received) {
|
||||
console.log("solve_captcha(), for " + this.page.url())
|
||||
let url_get = `http://2captcha.com/in.php?key=${API_KEY}&method=userrecaptcha&googlekey=${site_key}&pageurl=${this.page.url()}`;
|
||||
|
||||
let res = await axios.get(url_get)
|
||||
console.log(`statusCode: ${res.status}`);
|
||||
console.log(res);
|
||||
let results = res.data.split("|");
|
||||
this.captcha_id = results[1];
|
||||
let solution = CAPCHA_NOT_READY;
|
||||
let status_code = 1;
|
||||
await delay(15 * 1000)
|
||||
while (solution === CAPCHA_NOT_READY || status_code !== 200) {
|
||||
await this.get_solution(this.captcha_id, (status, sol) => {
|
||||
status_code = status;
|
||||
solution = sol
|
||||
})
|
||||
try {
|
||||
let url_get = `http://2captcha.com/in.php?key=${API_KEY}&method=userrecaptcha&googlekey=${site_key}&pageurl=${this.page.url()}`;
|
||||
let res = await axios.get(url_get)
|
||||
console.log(`statusCode: ${res.status}`);
|
||||
console.log(res);
|
||||
let results = res.data.split("|");
|
||||
this.captcha_id = results[1];
|
||||
let solution = CAPCHA_NOT_READY;
|
||||
let status_code = 1;
|
||||
await delay(15 * 1000)
|
||||
while (solution === CAPCHA_NOT_READY || status_code !== 200) {
|
||||
await this.get_solution(this.captcha_id, (status, sol) => {
|
||||
status_code = status;
|
||||
solution = sol
|
||||
})
|
||||
}
|
||||
handle_solution_received(solution)
|
||||
}catch (e) {
|
||||
console.log(e)
|
||||
handle_solution_received(TWO_CAPTCHA_CONNECTION_FAILED)
|
||||
}
|
||||
handle_solution_received(solution)
|
||||
|
||||
}
|
||||
|
||||
async get_solution(catcha_id, onSolutionFound) {
|
||||
@@ -68,4 +74,4 @@ class SolveCaptcha {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = SolveCaptcha
|
||||
module.exports = {SolveCaptcha, TWO_CAPTCHA_CONNECTION_FAILED}
|
||||
Reference in New Issue
Block a user