-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
48 lines (37 loc) · 1.66 KB
/
index.js
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
const xlsx = require("xlsx");
const puppeteer = require('puppeteer');
const readlineSync = require('readline-sync');
console.log('\nBem vindo ao Bot conversor 🤖💰');
async function robo() {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
const valorParaConversao = readlineSync.question(`Informe o valor para conversão: `) || 1;
const moedaBase = readlineSync.question('Informe uma moeda base: ') || 'real';
const moedaFinal = readlineSync.question('Informe uma moeda desejada: ') || 'dolar';
const qualquerUrl = `https://www.google.com/search?q=${moedaBase}+para+${moedaFinal}&oq=${moedaBase}+para+${moedaFinal}&aqs=chrome.0.69i59j0l7.1726j0j4&sourceid=chrome&ie=UTF-8`;
await page.goto(qualquerUrl);
const moedaFinalCotacao = await page.evaluate(() => {
return document.querySelector('.lWzCpb.a61j6').value;
});
const workbook = xlsx.utils.book_new();
const resultadoConversao = parseInt(moedaFinalCotacao * valorParaConversao)
const dataConversao = new Date();
var worksheet_data = [
[`Dia da cotação: `, `${dataConversao.toString()}`],
[`Cotação ${moedaBase}: `, "1"],
[`Cotação ${moedaFinal}: `, `${moedaFinalCotacao}`],
[`${valorParaConversao} ${moedaBase} convertido: `, `${resultadoConversao} em ${moedaFinal}`]
];
var worksheet = xlsx.utils.aoa_to_sheet(worksheet_data);
worksheet['!cols'] = [
{wch: 30},
{wch: 30},
{wch: 30},
{wch: 30}
];
xlsx.utils.book_append_sheet(workbook, worksheet);
xlsx.writeFile(workbook, "result.xlsx");
console.log(`Valor convertido e exportado para o arquivo result.xlsx\n`)
await browser.close();
}
robo();