handle ssl error
This commit is contained in:
+1
-1
@@ -21,7 +21,7 @@
|
|||||||
"node-wget": "^0.4.3",
|
"node-wget": "^0.4.3",
|
||||||
"node-xlsx": "^0.21.0",
|
"node-xlsx": "^0.21.0",
|
||||||
"playwright": "^1.39.0",
|
"playwright": "^1.39.0",
|
||||||
"puppeteer": "^15.5.0",
|
"puppeteer": "^15.2.0",
|
||||||
"read-ini-file": "^3.0.1",
|
"read-ini-file": "^3.0.1",
|
||||||
"uuid": "^9.0.0",
|
"uuid": "^9.0.0",
|
||||||
"winston": "^3.8.2",
|
"winston": "^3.8.2",
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ const OCRResult = {
|
|||||||
TO_REFRESH: Symbol("TO_REFRESH"),
|
TO_REFRESH: Symbol("TO_REFRESH"),
|
||||||
BLOCKED: Symbol("BLOCKED"),
|
BLOCKED: Symbol("BLOCKED"),
|
||||||
SLIDING_CAPTCHA: Symbol("SLIDING_CAPTCHA"),
|
SLIDING_CAPTCHA: Symbol("SLIDING_CAPTCHA"),
|
||||||
|
SSL_CERT_ERROR: Symbol("SSL_CERT_ERROR"),
|
||||||
|
SLIDING_CAPTCHA_LOADING: Symbol("SLIDING_CAPTCHA_LOADING"),
|
||||||
SLIDING_CAPTCHA_REFRESH: Symbol("SLIDING_CAPTCHA_REFRESH"),
|
SLIDING_CAPTCHA_REFRESH: Symbol("SLIDING_CAPTCHA_REFRESH"),
|
||||||
FILL_FIELD: Symbol("FILL_FIELD"),
|
FILL_FIELD: Symbol("FILL_FIELD"),
|
||||||
NEED_TO_CLICK_LATE_BTN: Symbol("NEED_TO_CLICK_LATE_BTN"),
|
NEED_TO_CLICK_LATE_BTN: Symbol("NEED_TO_CLICK_LATE_BTN"),
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ class CommandorPage {
|
|||||||
if (this.isTerminated) {
|
if (this.isTerminated) {
|
||||||
log(this.device.model() + ":request terminated, send cancel()");
|
log(this.device.model() + ":request terminated, send cancel()");
|
||||||
try {
|
try {
|
||||||
|
if (this.page !== undefined)
|
||||||
await this.page.close()
|
await this.page.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
@@ -726,16 +727,6 @@ class CommandorPage {
|
|||||||
await this.checkResultWithOcr();
|
await this.checkResultWithOcr();
|
||||||
if (this.page.url() === BLANK_URL) {
|
if (this.page.url() === BLANK_URL) {
|
||||||
this.isTerminated = true;
|
this.isTerminated = true;
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
// let errorItem = this.page.locator("div.alert");
|
|
||||||
// if (errorItem) {
|
|
||||||
// let errorContent = await errorItem.innerHTML();
|
|
||||||
// await this.handleError(errorContent);
|
|
||||||
// }
|
|
||||||
} catch (e) {
|
|
||||||
log(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -824,6 +815,12 @@ class CommandorPage {
|
|||||||
await delay(10 * 1000)
|
await delay(10 * 1000)
|
||||||
}
|
}
|
||||||
switch (checkResult) {
|
switch (checkResult) {
|
||||||
|
case OCRResult.SLIDING_CAPTCHA_LOADING:
|
||||||
|
this.isTerminated = true;
|
||||||
|
break;
|
||||||
|
case OCRResult.SSL_CERT_ERROR:
|
||||||
|
await this.resetBrowser()
|
||||||
|
break;
|
||||||
case OCRResult.TERMINAED:
|
case OCRResult.TERMINAED:
|
||||||
this.isTerminated = true;
|
this.isTerminated = true;
|
||||||
break;
|
break;
|
||||||
@@ -842,17 +839,29 @@ class CommandorPage {
|
|||||||
logWithDevice("get pages", this.device)
|
logWithDevice("get pages", this.device)
|
||||||
let pages = await this.browser.pages();
|
let pages = await this.browser.pages();
|
||||||
try {
|
try {
|
||||||
pages.forEach((currentPage) => {
|
for (const currentPage of pages) {
|
||||||
if (currentPage.url() === RDV_URL) {
|
if (currentPage.url() === RDV_URL) {
|
||||||
|
logWithDevice("get content", this.device)
|
||||||
|
let pageContent = await currentPage.content()
|
||||||
|
logWithDevice("content:" + pageContent, this.device)
|
||||||
|
if (!pageContent.includes("geo.captcha-delivery.com")) {
|
||||||
this.page = currentPage;
|
this.page = currentPage;
|
||||||
|
break
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
currentPage.close()
|
await currentPage.close()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
} else {
|
||||||
|
try {
|
||||||
|
await currentPage.close()
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.isTerminated = true;
|
this.isTerminated = true;
|
||||||
console.log(e)
|
console.log(e)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ const NO_INTERNET_FR_2 = "Aucun accès à Internet"
|
|||||||
const BRAVE_VPN_SKIP = "Pare-feu + VPN Brave"
|
const BRAVE_VPN_SKIP = "Pare-feu + VPN Brave"
|
||||||
const MESSAGE_URL_VALIDATION_FR = "envoyé un lien par e-mail."
|
const MESSAGE_URL_VALIDATION_FR = "envoyé un lien par e-mail."
|
||||||
const MESSAGE_URL_VALIDATION_FR_2 = "un lien par e-mail"
|
const MESSAGE_URL_VALIDATION_FR_2 = "un lien par e-mail"
|
||||||
|
const SSL_CERT_ERROR = " Votre connexion n'est pas privée"
|
||||||
const MESSAGE_URL_VALIDATION_EN = "Please click on the link we sent by email"
|
const MESSAGE_URL_VALIDATION_EN = "Please click on the link we sent by email"
|
||||||
const CHOOSE_POSITION_GOOGLE_FR = " Choisir la position pour les résultats de recherche"
|
const CHOOSE_POSITION_GOOGLE_FR = " Choisir la position pour les résultats de recherche"
|
||||||
const CAPTCHA_ERROR_MESSAGE = "Error verifying captcha, please try again"
|
const CAPTCHA_ERROR_MESSAGE = "Error verifying captcha, please try again"
|
||||||
@@ -31,11 +32,14 @@ const ERR_CACHE_MISS = "ERR_CACHE_MISS"
|
|||||||
const ERR_CACHE_MISS_2 = "ERR_CACHE-MISS"
|
const ERR_CACHE_MISS_2 = "ERR_CACHE-MISS"
|
||||||
const ERR_CACHE_MISS_3 = "appuyer sur le bouton d'actualisation"
|
const ERR_CACHE_MISS_3 = "appuyer sur le bouton d'actualisation"
|
||||||
const ERR_CACHE_MISS_4 = "renvoyer les données"
|
const ERR_CACHE_MISS_4 = "renvoyer les données"
|
||||||
|
const ERR_EMPTY_RESPONSE = "ERR_EMPTY_RESPONSE"
|
||||||
const SLIDING_CAPTCHA_FR = "Pourquoi cette vérification"
|
const SLIDING_CAPTCHA_FR = "Pourquoi cette vérification"
|
||||||
|
const SLIDING_CAPTCHA_LOADING_FR = "Chargement."
|
||||||
const SLIDING_CAPTCHA_FR_2 = "Glissez vers la droite pour"
|
const SLIDING_CAPTCHA_FR_2 = "Glissez vers la droite pour"
|
||||||
const SLIDING_CAPTCHA_FR_3 = "la droite pour completer le puzzle"
|
const SLIDING_CAPTCHA_FR_3 = "la droite pour completer le puzzle"
|
||||||
const SLIDING_CAPTCHA_FR_4 = " s'assure qu'on s'adresse bien"
|
const SLIDING_CAPTCHA_FR_4 = " s'assure qu'on s'adresse bien"
|
||||||
const SLIDING_CAPTCHA_FR_5 = "On s'assure que c'est"
|
const SLIDING_CAPTCHA_FR_5 = "On s'assure que c'est"
|
||||||
|
const SLIDING_CAPTCHA_FR_6 = "s'assure que cest bien vous"
|
||||||
const MESSAGE_FILL_FIELD_FR = "Demande de rendez-vous pour"
|
const MESSAGE_FILL_FIELD_FR = "Demande de rendez-vous pour"
|
||||||
const MESSAGE_FILL_FIELD_FR_2 = "des champs de données doivent étre complétés"
|
const MESSAGE_FILL_FIELD_FR_2 = "des champs de données doivent étre complétés"
|
||||||
const MESSAGE_FILL_FIELD_FR_3 = "Sans préféré"
|
const MESSAGE_FILL_FIELD_FR_3 = "Sans préféré"
|
||||||
@@ -100,6 +104,9 @@ class OCRChecker {
|
|||||||
} else if (result.includes(BRAVE_VPN_SKIP)) {
|
} else if (result.includes(BRAVE_VPN_SKIP)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
return OCRResult.BRAVE_VPN_SKIP
|
return OCRResult.BRAVE_VPN_SKIP
|
||||||
|
} else if (result.includes(SSL_CERT_ERROR)) {
|
||||||
|
await this.deleteFile(fileName)
|
||||||
|
return OCRResult.SSL_CERT_ERROR
|
||||||
} else if (result.includes(MESSAGE_FILL_FIELD_FR) || result.includes(MESSAGE_FILL_FIELD_FR_2) || result.includes(MESSAGE_FILL_FIELD_FR_3) || result.includes(MESSAGE_FILL_FIELD_FR_4) || result.includes(MESSAGE_FILL_FIELD_FR_5)) {
|
} else if (result.includes(MESSAGE_FILL_FIELD_FR) || result.includes(MESSAGE_FILL_FIELD_FR_2) || result.includes(MESSAGE_FILL_FIELD_FR_3) || result.includes(MESSAGE_FILL_FIELD_FR_4) || result.includes(MESSAGE_FILL_FIELD_FR_5)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
return OCRResult.FILL_FIELD
|
return OCRResult.FILL_FIELD
|
||||||
@@ -108,7 +115,7 @@ class OCRChecker {
|
|||||||
} else if (result.includes(BLOCKED_MSG_EN) || result.includes(BLOCKED_MSG_FR) || result.includes(BLOCKED_MSG_FR_2) || result.includes(BLOCKED_MSG_FR_3)) {
|
} else if (result.includes(BLOCKED_MSG_EN) || result.includes(BLOCKED_MSG_FR) || result.includes(BLOCKED_MSG_FR_2) || result.includes(BLOCKED_MSG_FR_3)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
return OCRResult.BLOCKED
|
return OCRResult.BLOCKED
|
||||||
} else if (result.includes(ERR_CACHE_MISS) || result.includes(ERR_CACHE_MISS_2) || result.includes(ERR_CACHE_MISS_3) || result.includes(ERR_CACHE_MISS_4)) {
|
} else if (result.includes(ERR_CACHE_MISS) || result.includes(ERR_CACHE_MISS_2) || result.includes(ERR_CACHE_MISS_3) || result.includes(ERR_CACHE_MISS_4) || result.includes("ERR_EMPTY_RESPONSE")) {
|
||||||
return OCRResult.TO_REFRESH
|
return OCRResult.TO_REFRESH
|
||||||
} else if (result.includes(CHECKING_MSG_FR) || result.includes(CHECKING_MSG_FR_2)) {
|
} else if (result.includes(CHECKING_MSG_FR) || result.includes(CHECKING_MSG_FR_2)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
@@ -119,8 +126,11 @@ class OCRChecker {
|
|||||||
} else if (result.includes(BRAVE_SKIP_PUB) || result.includes(BRAVE_SKIP_PUB_2) || result.includes(BRAVE_SKIP_PUB_3) || result.includes(BRAVE_SKIP_PUB_4) || result.includes(BRAVE_SKIP_PUB_5)) {
|
} else if (result.includes(BRAVE_SKIP_PUB) || result.includes(BRAVE_SKIP_PUB_2) || result.includes(BRAVE_SKIP_PUB_3) || result.includes(BRAVE_SKIP_PUB_4) || result.includes(BRAVE_SKIP_PUB_5)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
return OCRResult.BRAVE_PRIVACY_PUB
|
return OCRResult.BRAVE_PRIVACY_PUB
|
||||||
} else if (result.includes(SLIDING_CAPTCHA_FR) || result.includes(SLIDING_CAPTCHA_FR_2) || result.includes(SLIDING_CAPTCHA_FR_3) || result.includes(SLIDING_CAPTCHA_FR_4) || result.includes(SLIDING_CAPTCHA_FR_5)) {
|
} else if (result.includes(SLIDING_CAPTCHA_FR) || result.includes(SLIDING_CAPTCHA_FR_2) || result.includes(SLIDING_CAPTCHA_FR_3) || result.includes(SLIDING_CAPTCHA_FR_4) || result.includes(SLIDING_CAPTCHA_FR_5) || result.includes(SLIDING_CAPTCHA_FR_6)) {
|
||||||
await this.deleteFile(fileName)
|
await this.deleteFile(fileName)
|
||||||
|
if (result.includes(SLIDING_CAPTCHA_LOADING_FR)) {
|
||||||
|
return OCRResult.SLIDING_CAPTCHA_LOADING
|
||||||
|
}
|
||||||
// await this.deleteFile(screenShot)
|
// await this.deleteFile(screenShot)
|
||||||
// if (result.includes("rac"))
|
// if (result.includes("rac"))
|
||||||
// return OCRResult.SLIDING_CAPTCHA_REFRESH
|
// return OCRResult.SLIDING_CAPTCHA_REFRESH
|
||||||
|
|||||||
Reference in New Issue
Block a user