add checkbox to disable speechtotext
This commit is contained in:
+6
-6
@@ -35,11 +35,11 @@ async function needToBook(contact, mongoManager) {
|
||||
return toReturn
|
||||
}
|
||||
|
||||
async function startBook(contactPojo, device, selectedStore) {
|
||||
async function startBook(contactPojo, device, selectedStore, audioAnalyse) {
|
||||
console.log(`型号: ${device.model()}`);
|
||||
console.log(`序列号: ${device.serial()}`);
|
||||
if (await needToBook(contactPojo, mongoManager)) {
|
||||
let commandor = new CommandorPage(contactPojo, device, mongoManager, selectedStore);
|
||||
let commandor = new CommandorPage(contactPojo, device, mongoManager, selectedStore, audioAnalyse);
|
||||
//read contacts form excel
|
||||
return await commandor.loadPage();
|
||||
} else {
|
||||
@@ -47,18 +47,18 @@ async function startBook(contactPojo, device, selectedStore) {
|
||||
}
|
||||
}
|
||||
|
||||
async function startWithList(contacts, device, selectedStore) {
|
||||
async function startWithList(contacts, device, selectedStore, audioAnalyse) {
|
||||
await contacts.reduce(async (promise, contactPojo) => {
|
||||
// This line will wait for the last async function to finish.
|
||||
// The first iteration uses an already resolved Promise
|
||||
// so, it will immediately continue.
|
||||
await promise;
|
||||
const contents = await startBook(contactPojo, device, selectedStore);
|
||||
const contents = await startBook(contactPojo, device, selectedStore, audioAnalyse);
|
||||
console.log(contents);
|
||||
}, Promise.resolve());
|
||||
}
|
||||
|
||||
async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx') {
|
||||
async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false) {
|
||||
let allContactList = excelUtil.readContacts(pathToExcelFile);
|
||||
let contactList;
|
||||
if (endNumber <= allContactList.length) {
|
||||
@@ -80,7 +80,7 @@ async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathT
|
||||
}
|
||||
let segmentNumber = listToBook.length / devices.length;
|
||||
for (let i = 0; i < devices.length; i++) {
|
||||
startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i], selectedStore);
|
||||
startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i], selectedStore, audioAnalyse);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -57,7 +57,7 @@ function log(message) {
|
||||
}
|
||||
|
||||
class CommandorPage {
|
||||
constructor(contact, device, mongoManager, selectedStore = DEFAULT_STORE) {
|
||||
constructor(contact, device, mongoManager, selectedStore = DEFAULT_STORE, audioAnalyse = false) {
|
||||
this.contact = contact;
|
||||
this.device = device;
|
||||
this.mongoManager = mongoManager;
|
||||
@@ -65,6 +65,7 @@ class CommandorPage {
|
||||
this.choosedStore = selectedStore
|
||||
this.isFillingFields = false;
|
||||
this.isTerminated = false;
|
||||
this.audioAnalyse = audioAnalyse;
|
||||
}
|
||||
|
||||
|
||||
@@ -294,7 +295,9 @@ class CommandorPage {
|
||||
let content = await currentPage.content();
|
||||
let captcha_url = "geo.captcha-delivery.com/captcha";
|
||||
if (content.toString().includes(captcha_url)) {
|
||||
await this.checkAudioBtn();
|
||||
if (this.audioAnalyse) {
|
||||
await this.checkAudioBtn();
|
||||
}
|
||||
for (let i = 0; i < 15; i++) {
|
||||
await delay(1000)
|
||||
shell.beep()
|
||||
@@ -325,8 +328,8 @@ class CommandorPage {
|
||||
if (audioBtn) {
|
||||
log("audioBtn found")
|
||||
audioBtn.click()
|
||||
let captchSolver = new GeoCaptchaSolver(this.page)
|
||||
captchSolver.solve()
|
||||
let captchaSolver = new GeoCaptchaSolver(this.page)
|
||||
await captchaSolver.solve()
|
||||
} else {
|
||||
log("audioBtn not found")
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ const crypto = require('crypto');
|
||||
const fs = require("fs");
|
||||
const homedir = require('os').homedir();
|
||||
const dest_dir = homedir + "/wavs/"
|
||||
// iframe.query_selector('.audio-captcha-track').inner_html()
|
||||
const AUDIO_CAPTCHA_TRACK = ".audio-captcha-track";
|
||||
const CAPTCHA_CONTAINER = "#captcha-container";
|
||||
const WAV_URL_REGEX = "https:.+.wav";
|
||||
|
||||
Reference in New Issue
Block a user