Puppeteer 鼠标模拟

24 min read

Puppeteer 是一个用于控制和自动化 Chrome 或 Chromium 浏览器的工具。它可以模拟用户的鼠标操作,例如点击、拖动、移动等。

下面是一个使用 Puppeteer 进行鼠标模拟的简单示例:

const puppeteer = require('puppeteer');

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

  await page.goto('https://example.com');

  // 模拟鼠标移动到页面的某个元素上
  const elementHandle = await page.$('selector');
  await elementHandle.hover();

  // 模拟鼠标点击页面的某个元素
  await elementHandle.click();

  // 模拟鼠标拖动页面的某个元素
  await elementHandle.drag('selector');

  // 模拟鼠标移动到页面的某个位置
  await page.mouse.move(x, y);

  // 关闭浏览器
  await browser.close();
}

simulateMouse();

在上面的示例中,我们首先使用 puppeteer.launch() 函数启动了一个 Chrome 浏览器实例,并创建了一个新的页面。然后使用 page.goto() 函数访问了一个网页。

接下来,我们使用 page.$() 函数选择了页面中的一个元素,并使用 elementHandle.hover() 模拟了鼠标移动到该元素上的操作。然后使用 elementHandle.click() 模拟了鼠标点击操作。

另外,elementHandle.drag() 可以用于模拟鼠标拖动操作,page.mouse.move() 可以模拟鼠标移动到页面的某个位置。

最后,我们使用 browser.close() 关闭了浏览器实例。

需要注意的是,Puppeteer 是基于 Chrome DevTools Protocol 开发的,所以它只能控制 Chrome 或 Chromium 浏览器。