运行此命令时,节点提示变量trackNames未定义。我尝试了该模块中的其他类,但它们都不起作用。我运行的脚本与此脚本几乎完全相同,并且可以从模块中正常读取。我该如何解决?
const puppeteer = require('puppeteer');
const readline = require('readline');
const en = require('./elementNames');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
let getTracks = async (trackName) => {
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
let url = `https://soundcloud.com/search/sounds?q=${trackName}`;
await page.goto(url, {waitUntil: 'networkidle2'});
return await page.evaluate((trackNames) => {
let trackSearchResults = [];
document.querySelectorAll(trackNames).forEach(name => {
trackSearchResults.push(name.innerText);
});
return trackSearchResults;
}, en.searchTracks.trackNames)
}
module.exports = {
searchTracks: () => {
rl.question("Search for a track: ", async (inputTrack) => {
let trackNames = await getTracks(inputTrack);
})
}
}