1

我正在尝试使用 WebDriver.io 的拖放方法,但它不起作用。我在网站上使用了示例拖放:https ://www.w3schools.com/html/html5_draganddrop.asp 我需要这个来自动化角度应用程序的拖放功能。

有人可以帮助我或找到解决方法。

4

1 回答 1

2

您可以使用 buttonDown 和 buttonUp 方法创建自定义拖放:

dragAndDrop(element, x = 0, y = 0) {
  element.moveTo();
  browser.buttonDown(0);
  element.moveTo(x, y);
  browser.buttonUp(0);
}

您可以使用otherElement.moveTo();insted ofelement.moveTo(x, y);移动到特定元素。

您也可以使用performActions()函数,如下所示:

const dragAndDrop = (element, x = 0, y = 0) => {
  const location = getElementLocation(element);
  browser.performActions([
    {
      type: 'pointer',
      id: 'finger1',
      parameters: { pointerType: 'mouse' },
      actions: [
        { type: 'pointerMove', duration: 0, x: location.x, y: location.y },
        { type: 'pointerDown', button: 0 },
        { type: 'pointerMove', duration: 0, x: location.x + x, y: location.y + y },
        { type: 'pointerUp', button: 0 },
      ],
    },
  ]);
};
于 2020-03-10T11:17:00.037 回答