cotacao-atual
Version:
Consulte algumas cotações atual da B3.
75 lines (68 loc) • 1.61 kB
JavaScript
const puppeteer = require('puppeteer');
//Criador original = npm-cotacoes
//Arrumado por blacknaut e atualizado!
async function cotacoes(cotacao){
switch(cotacao){
case 'petrobras':
var url = 'petrobras-petr4/'
break;
case 'vale':
var url = 'vale-vale3/'
break;
case 'itau':
var url = 'itau-unibanco-itub4/'
break;
case 'ambev':
var url = 'ambev-abev3/'
break;
case 'gerdau':
var url = 'gerdau-ggbr4/'
break;
case 'ibove':
var url = 'ibovespa/'
break;
case 'bitcoin':
var url = 'bitcoin-btc/'
break;
case 'ifix':
var url = 'ifix/'
break;
case 'magazineluiza':
var url = 'magazine-luiza-mglu3/'
break;
}
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`https://www.infomoney.com.br/cotacoes/b3/acao/${url}`);
const dadoCotacao = await page.evaluate(()=>{
const dados = document.querySelectorAll('body .line-info p')
const dadosArray = [...dados]
const list = {
valor_pontos: '',
variacao: '',
min: '',
max: '',
volume: ''
}
dadosArray.map( (p, index) => {
switch(index){
case 0:
list.valor_pontos = p.innerText
case 1:
list.variacao = p.innerText
case 2:
list.min = p.innerText
case 3:
list.max = p.innerText
case 4:
list.volume = p.innerText
}
})
return list;
});
await browser.close();
return dadoCotacao;
}
module.exports = {
cotacoes
}