【发布时间】:2022-01-14 12:38:32
【问题描述】:
我目前正在编写一个简单的程序,该程序从我的 discord 机器人中获取歌曲名称,找到视频并将其传递给函数以转换为 mp3。我的问题是 puppeteer 没有点击视频,而是返回搜索页面链接。
这是我获取链接并通过下载传递的代码:
async function findSongName(stringWithName){
let stringName = stringWithName.replace(commands.play, '')
const link = 'https://www.youtube.com';
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(link)
await page.type('ytd-searchbox#search.style-scope.ytd-masthead', stringName);
page.keyboard.press('Enter');
await page.click('yt-interaction#extended');
console.log(page.url())
await browser.close()
}
【问题讨论】:
-
我认为我没有完全理解这里的流程——你搜索一下,然后呢?您想点击顶部视频并播放吗?你如何录制mp3?对于初学者,在单击结果之前,您似乎需要
waitForNavigation或waitForSelector。对您想要完成的工作提供更多指导会有所帮助。无论如何,如果是我,我只会使用 youtube-dl 来获取音频或类似的东西,而不需要 Puppeteer。 -
嘿,我会试着解释得更好一点。我正在尝试单击在搜索栏中键入并拉出该视频链接后弹出的第一个视频。问题是没有弹出错误,而是单击视频并返回视频链接,而是返回搜索查询的链接。我将尝试 youtube-dl,因为我只是想获取链接并将其下载到 mp3
标签: javascript node.js puppeteer