拖放不使用Selenium和Java

拖放不使用Selenium和Java,java,selenium,drag-and-drop,Java,Selenium,Drag And Drop,我使用了下面的代码,它执行时没有任何错误。但拖放操作并没有发生 JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("function createEvent(typeOfEvent) {\n" + "var event =document.createEvent(\"CustomEvent\");\n" +

我使用了下面的代码,它执行时没有任何错误。但拖放操作并没有发生

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("function createEvent(typeOfEvent) {\n" + "var event =document.createEvent(\"CustomEvent\");\n"
            + "event.initCustomEvent(typeOfEvent,true, true, null);\n" + "event.dataTransfer = {\n" + "data: {},\n"
            + "setData: function (key, value) {\n" + "this.data[key] = value;\n" + "},\n"
            + "getData: function (key) {\n" + "return this.data[key];\n" + "}\n" + "};\n" + "return event;\n"
            + "}\n" + "\n" + "function dispatchEvent(element, event,transferData) {\n"
            + "if (transferData !== undefined) {\n" + "event.dataTransfer = transferData;\n" + "}\n"
            + "if (element.dispatchEvent) {\n" + "element.dispatchEvent(event);\n"
            + "} else if (element.fireEvent) {\n" + "element.fireEvent(\"on\" + event.type, event);\n" + "}\n"
            + "}\n" + "\n" + "function simulateHTML5DragAndDrop(element, destination) {\n"
            + "var dragStartEvent =createEvent('dragstart');\n" + "dispatchEvent(element, dragStartEvent);\n"
            + "var dropEvent = createEvent('drop');\n"
            + "dispatchEvent(destination, dropEvent,dragStartEvent.dataTransfer);\n"
            + "var dragEndEvent = createEvent('dragend');\n"
            + "dispatchEvent(element, dragEndEvent,dropEvent.dataTransfer);\n" + "}\n" + "\n"
            + "var source = arguments[0];\n" + "var destination = arguments[1];\n"
            + "simulateHTML5DragAndDrop(source,destination);", from1, to1);

哇!看起来没那么简单。你试过这样的东西吗?如果是,为什么选择这个JavaScript解决方案?是的,我试过了,但拖放不起作用。我尝试了很多解决方案,但只得到了相同的结果。我希望
从1
都是
WebElement
。它们的位置正确吗?记录
element.getRect().getX()
element.getRect.getY()
element.getLocation().getX()
element.getLocation().getY()
,查看更多信息。看起来没那么简单。你试过这样的东西吗?如果是,为什么选择这个JavaScript解决方案?是的,我试过了,但拖放不起作用。我尝试了很多解决方案,但只得到了相同的结果。我希望
从1
都是
WebElement
。它们的位置正确吗?记录
元素.getRect().getX()
元素.getRect.getY()
元素.getLocation().getX()
元素.getLocation().getY()
,查看更多信息。