提问者:小点点

Playwright上的拖动元素


我想知道是否可以使用Golang Playwright单击和拖动网页元素,因为它存在单击和移动,但不是两个关节。


共1个答案

匿名用户

我有一个工作版本,在《剧作家》中加入了一些元素。这是TypeScript中的实现。

async dragElement(element: ElementHandle, xOffset: number, yOffset: number, page: Page): Promise<void> {
  const elementBox = await element.boundingBox();
  if (!elementBox) {
    throw new Error('Unable to find bounding box on element');
  }

  const elementCenterX = elementBox.x + elementBox.width / 2;
  const elementCenterY = elementBox.y + elementBox.height / 2;

  await element.hover();
  await page.mouse.down();
  await page.mouse.move(elementCenterX + xOffset, elementCenterY + yOffset);
  await page.mouse.up();
}