Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

281
Visualizações
How to get data from json file to js using puppeteer

How can i get data such as username and password from json file?

const { errors } = require('puppeteer');
const puppeteer = require('puppeteer-extra');

(async () => {
    const browser = await puppeteer.launch({
      headless: false,
      ignoreHTTPSErrors: true,
      webpage: true,
      slowMo: 3,
      executablePath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
    });

    const page = await browser.newPage();
    await installMouseHelper(page); // Makes mouse visible
    await page.setDefaultNavigationTimeout(0);
    await page.evaluate(() => { debugger; });
    await page.goto('https://nike.com/my/login');

    await page.waitFor(500);
    const login = '[data-componentname="emailAddress"]';
    loginButton = await page.waitForSelector(login),
    await loginButton.click(),
    await loginButton.type("test@gmail.com");

    await page.waitFor(500);
    const loginPsw = '[data-componentname="password"]';
    loginPswButton = await page.waitForSelector(loginPsw),
    await loginPswButton.click(),
    await loginPswButton.type("Qwert12345.");

    await page.waitFor(500);
    const signInBtn = '[class="nike-unite-submit-button loginSubmit nike-unite-component"]';
    signInBtnButton = await page.waitForSelector(signInBtn),
    await signInBtnButton.click();

})();
{
"nikeSNKRS": {
    "accounts": [
        {
            "note": "",
            "accounts": [
                {
                    "user": "test@gmail.com",
                    "password": "Qwert12345.",
                    "access_token": "",
                    "refresh_token": "",
                    "expires_in": "",
                    "token_type": "",
                    "country": "",
                    "phone": "",
                    "expires": "???",
                    "proxy": ""
                }
            ]
        }
    ]
  }
}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

If you do not want to mess up your existing code with call-back nesting, create an async method to read in the file containing your data:

const fs = require("fs");

const getData = (file) => {
  return new Promise((resolve, reject) => { 
    fs.readFile(file, (err, data) => {
      if (err) return reject(err);
      try {
        const json = JSON.parse(data);
        resolve(json);
      } catch (E) {
        reject(E);
      }
    }
  }
}

Then if your data is in ./data.json, add to/modify your code at the appropriate places:

const json = await getData("./data.json");
//...
const user = json.nikeSNKRS.accounts[0].accounts[0].user;
await loginButton.type(user);
// ...
const password = json.nikeSNKRS.accounts[0].accounts[0].password
await loginPswButton.type(password);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda