Puppeteer 键盘模拟 : 在搜索框中输入一些文本,然后按回车进行搜索

26 min read

要在搜索框中输入文本并按回车进行搜索,可以使用 Puppeteer 的键盘模拟功能。以下是一个示例代码:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com'); // 替换为实际的网页 URL
  
  // 找到搜索框元素并输入文本
  await page.type('input[type="text"]', 'Puppeteer');
  
  // 模拟按下回车键
  await page.keyboard.press('Enter');
  
  await page.waitForNavigation(); // 等待页面加载完成,可以根据实际情况调整等待时间
  
  // 在此可以对搜索结果进行操作,比如截图或者提取数据
  
  await browser.close();
})();

在这个示例中,打开了一个示例网页(https://example.com),然后找到搜索框元素并输入了文本 'Puppeteer',接着模拟按下回车键进行搜索。然后,可以添加其他操作来处理搜索的结果。最后,关闭浏览器实例。请注意,你需要根据实际情况替换示例中的网页 URL 和搜索框选择器。

确保已经安装了 Puppeteer,可以使用以下命令安装:

npm install puppeteer

如果你使用的是旧版本的 Puppeteer(v0.13.0 以下),语法略有不同,需要使用 page.evaluate() 来模拟键盘按下回车键:

await page.evaluate(() => {
  const event = new KeyboardEvent('keydown', {
    bubbles: true,
    cancelable: true,
    key: 'Enter',
  });
  document.querySelector('input[type="text"]').dispatchEvent(event);
});

这是使用 Puppeteer 进行键盘模拟的基本原理,你可以根据需要进行调整和扩展。