-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
56 lines (46 loc) · 1.94 KB
/
index.js
File metadata and controls
56 lines (46 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const LeitorCSV = require('./services/LeitorCSV');
const GravadorCSV = require('./services/GravadorCSV');
const CapturadorCosmos = require('./services/CapturadorCosmos');
const BrowserManager = require('./services/BrowserManager');
const chromePath = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
const browserURL = 'http://localhost:9222';
const caminhoCSVEntrada = './setemcaixa.csv';
const caminhoCSVSaida = './resultado.csv';
function esperar(ms) {
console.log(`Aguardando ${ms / 1000} segundos...`);
return new Promise(resolve => setTimeout(resolve, ms));
}
(async () => {
const leitor = new LeitorCSV();
const gravador = new GravadorCSV();
const browserManager = new BrowserManager(chromePath, browserURL);
const linhasCSV = await leitor.ler(caminhoCSVEntrada);
const { browser, page } = await browserManager.conectar();
const capturador = new CapturadorCosmos(page);
const dadosAdicionados = [];
for (const linha of linhasCSV) {
const ean = linha.EAN;
try {
await page.waitForSelector('#search-input', { visible: true });
const info = await capturador.capturar(ean);
dadosAdicionados.push({
...linha,
EAN_CAIXA: info.eanCaixa,
TIPO: info.tipo,
QUANTIDADE_CAIXA: info.embalagem,
LASTRO: info.lastro,
CAMADA: info.camada,
COMPRIMENTO: info.comprimento,
ALTURA: info.altura,
LARGURA: info.largura,
PESO_BRUTO: info.pesoBruto,
PESO_LIQUIDO: info.pesoLiquido
});
await esperar(2000);
} catch (error) {
console.error(`Erro ao capturar informações para EAN ${ean}:`, error);
}
}
await gravador.gravar(caminhoCSVSaida, dadosAdicionados);
await browser.close();
})();