delete images if OCRResult is identified

This commit is contained in:
Lei PAN
2023-09-01 22:24:49 +02:00
parent 06bf2ead13
commit 2a7c43c2af
2 changed files with 27 additions and 2 deletions
+3
View File
@@ -582,6 +582,7 @@ class CommandorPage {
}) })
if (this.firstStart) { if (this.firstStart) {
this.disconnectBrowser(); this.disconnectBrowser();
await delay(3000);
await this.checkResultWithOcr(); await this.checkResultWithOcr();
} }
} }
@@ -1196,6 +1197,8 @@ class CommandorPage {
await this.device.shell("input tap " + 411 + " " + 1977) await this.device.shell("input tap " + 411 + " " + 1977)
} else if (this.browserPackageName.includes("brave") && this.device.model() === "ONEPLUS A6000") { } else if (this.browserPackageName.includes("brave") && this.device.model() === "ONEPLUS A6000") {
await this.device.shell("input tap " + 411 + " " + 1970) await this.device.shell("input tap " + 411 + " " + 1970)
} else if (this.browserPackageName.includes("brave") && this.device.model() === "22041219PG") {
await this.device.shell("input tap " + 411 + " " + 2020)
} else } else
await this.device.shell("input tap " + 411 + " " + 2100) await this.device.shell("input tap " + 411 + " " + 2100)
} }
+24 -2
View File
@@ -2,6 +2,7 @@ const {v4: uuidv4} = require("uuid");
const tesseract = require("node-tesseract-ocr"); const tesseract = require("node-tesseract-ocr");
const OCRResult = require("../models/OCRResult"); const OCRResult = require("../models/OCRResult");
const Jimp = require('jimp'); const Jimp = require('jimp');
const fs = require("fs");
function delay(delayInMs) { function delay(delayInMs) {
return new Promise(resolve => { return new Promise(resolve => {
@@ -89,6 +90,7 @@ class OCRChecker {
async get_result() { async get_result() {
let fileName = await this.take_screen_shot() let fileName = await this.take_screen_shot()
let screenShot = await convertImageToWhiteBlack(fileName); let screenShot = await convertImageToWhiteBlack(fileName);
await delay(1000)
try { try {
let result = await tesseract let result = await tesseract
.recognize(screenShot, config) .recognize(screenShot, config)
@@ -100,6 +102,8 @@ class OCRChecker {
} else if (result.includes(CAPTCHA_ERROR_MESSAGE) || result.includes(CAPTCHA_ERROR_MESSAGE_FR)) { } else if (result.includes(CAPTCHA_ERROR_MESSAGE) || result.includes(CAPTCHA_ERROR_MESSAGE_FR)) {
return OCRResult.RECAPTCHA_ERROR return OCRResult.RECAPTCHA_ERROR
} else if (result.includes(BLOCKED_MSG_EN) || result.includes(BLOCKED_MSG_FR) || result.includes(BLOCKED_MSG_FR_2)) { } else if (result.includes(BLOCKED_MSG_EN) || result.includes(BLOCKED_MSG_FR) || result.includes(BLOCKED_MSG_FR_2)) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
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)) {
return OCRResult.TO_REFRESH return OCRResult.TO_REFRESH
@@ -119,6 +123,8 @@ class OCRChecker {
|| result.includes(PAGE_OPTIMIZATION_CHROME_FR_8) || result.includes(PAGE_OPTIMIZATION_CHROME_FR_8)
|| result.includes(PAGE_OPTIMIZATION_CHROME_FR_7) || result.includes(PAGE_OPTIMIZATION_CHROME_FR_7)
) { ) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
return OCRResult.PAGE_OPTIMIZATION return OCRResult.PAGE_OPTIMIZATION
} else if (result.includes(CONFIRM_RESEND_FORM_FR)) { } else if (result.includes(CONFIRM_RESEND_FORM_FR)) {
return OCRResult.CONFIRM_RESEND_FORM return OCRResult.CONFIRM_RESEND_FORM
@@ -127,16 +133,24 @@ class OCRChecker {
} else if (result.includes(ABOUT_BLANK)) { } else if (result.includes(ABOUT_BLANK)) {
return OCRResult.TERMINAED return OCRResult.TERMINAED
} else if (result.includes(DIALOG_TO_SKIP)) { } else if (result.includes(DIALOG_TO_SKIP)) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
return OCRResult.TO_SKIP return OCRResult.TO_SKIP
} else if (result.includes(RECAPTCHA_FAILED_FR)) { } else if (result.includes(RECAPTCHA_FAILED_FR)) {
return OCRResult.TERMINAED return OCRResult.TERMINAED
} else if (result.includes(NO_INTERNET_FR)) { } else if (result.includes(NO_INTERNET_FR)) {
return OCRResult.NO_INTERNET return OCRResult.NO_INTERNET
} else if (result.includes(BRAVE_SKIP_DEFAULT_PAGE) || result.includes(BRAVE_SKIP_DEFAULT_PAGE_2)) { } else if (result.includes(BRAVE_SKIP_DEFAULT_PAGE) || result.includes(BRAVE_SKIP_DEFAULT_PAGE_2)) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
return OCRResult.BRAVE_SKIP return OCRResult.BRAVE_SKIP
} else if (result.includes(BRAVE_SKIP_PRIVACY_PAGE) || result.includes(BRAVE_SKIP_PRIVACY_PAGE_2)) { } else if (result.includes(BRAVE_SKIP_PRIVACY_PAGE) || result.includes(BRAVE_SKIP_PRIVACY_PAGE_2)) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
return OCRResult.BRAVE_PRIVACY return OCRResult.BRAVE_PRIVACY
} else if (result.includes(BRAVE_NOTIFICATION)) { } else if (result.includes(BRAVE_NOTIFICATION)) {
await this.deleteFile(fileName)
await this.deleteFile(screenShot)
return OCRResult.BRAVE_NOTIFICATION return OCRResult.BRAVE_NOTIFICATION
} 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)) {
return OCRResult.BRAVE_PRIVACY_PUB return OCRResult.BRAVE_PRIVACY_PUB
@@ -149,12 +163,20 @@ class OCRChecker {
} }
} }
async deleteFile(filename) {
try {
fs.unlinkSync(filename)
} catch (e) {
console.log(e)
return OCRResult.TERMINAED
}
}
async take_screen_shot() { async take_screen_shot() {
let name = this.get_file_name() let name = this.get_file_name()
await this.device.screenshot({path: name}); await this.device.screenshot({path: name});
await delay(1000); await delay(3000);
return name return name
// console.log(`stdout: ${stdout1}`);
} }
} }