Selenium WebDriver + Java. Кликнуть мышью по координате и удерживая провести в сторону(на другую координату) и отпустить.

Всем привет! Собственно задача описана в заголовке - внутри дива нужно взять некоторые координаты (могут быть заданы) кликнуть по ним и удерживая клик переместить на другие координаты, отпустить клик. Пытаюсь реализовать через actions, но что-то не хватает воображения. Наведите на путь истинный please :slight_smile:

А что вы уже сделали можно посмотреть?

Как то так на жс. Лень вспоминать как там на джаве - но аналогично
browser.actions().mouseDown({x: 1, y: 2}).mouseMove({x: 10, y: 10}).mouseUp().perform()

2 Likes

Actions action = new Actions(driver);
WebElement docDiv = driver.findElement(By.id(id));
action.clickAndHold(docDiv).build().perform();
action.moveToElement(docDiv, 100, 100).build().perform();
action.release().build().perform();

Вот так примерно было, но почему-то мне не приходило в голову что перед perform() нужно еще и buil(). В итоге так работает :slight_smile:

не нужно
https://github.com/SeleniumHQ/selenium/blob/master/java/client/src/org/openqa/selenium/interactions/Actions.java#L592

ооооо, тем лучше)

Вопрос:
Координаты - это обязательное условие или можно привести к использованию WebElement?

С WebElement неплохо работает new Actions(driver).dragAndDrop(WebElement source, WebElement target)