¿Cómo puedo obtener datos como el nombre de usuario y la contraseña del archivo json?
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": "" } ] } ] } }Si no desea estropear su código existente con el anidamiento de devolución de llamada, cree un método async para leer el archivo que contiene sus datos:
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); } } } } Luego, si sus datos están en ./data.json , agregue/modifique su código en los lugares apropiados:
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);