Drag and Drop Java Script Executor возвращает неопределенное - PullRequest
0 голосов
/ 28 апреля 2020

Я тестирую функцию перетаскивания в веб-приложении, используя Selenium, и использую сценарий java для выполнения функции перетаскивания.

У меня хорошее понимание функции но я не могу обернуть голову вокруг его полной работы

Я перебираю веб-элементы, используя метод Selenium findElement

    WebElement From = driver.findElement(By.cssSelector("#todrag > span:nth-child(4)"));
    WebElement To = driver.findElement(By.cssSelector("#mydropzone"));

, и ниже показано, где происходит действие

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

Этот код, кажется, прекрасно работает на "https://the-internet.herokuapp.com/drag_and_drop", но не работает на "https://www.seleniumeasy.com/test/drag-and-drop-demo.html"

Ниже приведена ошибка, которую я вижу на экране

enter image description here

Было бы замечательно, если бы кто-нибудь помог мне разобраться и решить эту проблему

На этой ссылке можно найти JS сайта - https://easyupload.io/dgefbv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...