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

java
webdriver
selenium
Теги: #<Tag:0x00007fedb859bde0> #<Tag:0x00007fedb859bc28> #<Tag:0x00007fedb859ba70>

(AveT) #1

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


(Yaroslav Pernerovskyy) #2

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


(Oleksandr Khotemskyi) #3

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


(AveT) #4

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:


(vmaximv) #5

не нужно


(AveT) #6

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


(Nik Sidorenko) #7

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

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