Как использовать Selenium Webdriver (Java) для имитации перетаскивания элемента и помещения его в поле ввода? - PullRequest
0 голосов
/ 28 декабря 2018

В обычных браузерах, таких как Chrome, Firefox и IE, при перетаскивании элемента в поле ввода (тип ввода = "текст"):

  • Если элемент является изображением (img href = "url изображения"), его значение атрибута href будет заполнено в поле ввода;

  • Если элемент является текстовым элементом (span , p ...), этотекстовое значение будет заполнено в поле ввода.

Я вызвал Java API веб-драйвера selenium для имитации действия, но ничего не заполнено.

Actions builder = new Actions(driver);

//use dragAndDrop
builder.dragAndDrop(source, target).perform();

//use moveToElement,clickAndHold,release
builder.moveToElement(source, 10, 10).clickAndHold(source);
builder.moveToElement(target, 10, 10).release(source).perform();

Я пробовал много способов симулировать одни и те же действия и ожидаю получить тот же результат, похоже, имитируются действия перетаскивания, но я не вижу действия заполнения.

1 Ответ

0 голосов
/ 28 декабря 2018

Попробуйте,

WebElement sourceLocator = driver.findElement(By.xpath("xpath")); //get source locator

WebElement targetLocator = driver.findElement(By.xpath("xpath")); //get target locator

Actions action = new Actions(driver);

action.dragAndDrop(sourceLocator, targetLocator).build().perform(); //perform drag and drop (from(sourceLocator) -> to(targetLocator))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...