Javascript 我如何用木偶演员在输入框中输入一些东西?

Javascript 我如何用木偶演员在输入框中输入一些东西?,javascript,puppeteer,Javascript,Puppeteer,我正在为我制作的机器人做实验,但由于某些原因,我无法将它输入youtube的输入框 (async () => { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); await page.goto('https://www.youtube.com/?hl=hr&gl=HR'); await page.w

我正在为我制作的机器人做实验,但由于某些原因,我无法将它输入youtube的输入框


(async () => {
    const browser = await puppeteer.launch({ headless: false });
    const page = await browser.newPage();
    await page.goto('https://www.youtube.com/?hl=hr&gl=HR');

    await page.waitForNavigation({
        waitUntil: 'networkidle0',
    });
    await page.type('#search', `text`)

    // await browser.waitForTarget(() => false)
    // await browser.close();
})();

#search是youtube搜索栏的id,但由于某种原因它不起作用

您的问题在等待,直到:“networkidle0”

async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://www.youtube.com/?hl=hr&gl=HR');
  await page.waitForSelector('input#search')
  await page.type('input#search', `text`)
})();

这很有效。谢谢你的帮助虽然我有一个问题,为什么需要在
input\search
中输入?我之前尝试过等待选择器,但它不起作用,所以似乎添加输入修复了它。您能解释一下为什么会这样吗?如果您在devtools控制台中键入“document.querySelectorAll(“#search”)”,您可以看到实际上有3个元素,其中“search idSO input”指定它是一个输入?谢谢