Вспоминал Selenium, решил попрактиковаться с drag-and-drop на этой странице:
https://www.seleniumeasy.com/test/drag-and-drop-de...
Собственно, вот код, которым я пытаюсь осуществить задуманное:
public class DragAndDropDemoPage extends Page {
public DragAndDropDemoPage(WebDriver driver) {
super(driver);
navigateTo();
}
@Override
public void navigateTo() {
driver.get(Urls.DRAG_AND_DROP_PAGE_URL);
}
public void dragAndDropElementWithIndex(int index) {
List<WebElement> elements = findElementsByCss("span[draggable=true]");
new Actions(driver).dragAndDrop(elements.get(index), findElementByCss("div#mydropzone")).build().perform();
}
}
По каким-то причинам меня выбрасывает на страницу поиска Google. А ищем мы, по итогу, по названию того элемента, который мы пытались дропнуть. Что произошло тут на самом деле. Немного почитал в интернете, что всё это может быть связано с HTML5 и атрибутом тэга draggable. В целом, пока не понятно, почему получилось так, что мы дропнули элемент в поисковую строку.
Есть ли какие-то идеи?
PS: Ниже суперкласс Page:
public abstract class Page {
WebDriver driver;
public Page(WebDriver driver) {
this.driver = driver;
}
public abstract void navigateTo();
protected WebElement findElementByCss(String cssSelector) {
return driver.findElement(By.cssSelector(cssSelector));
}
protected List<WebElement> findElementsByCss(String cssSelector) {
return driver.findElements(By.cssSelector(cssSelector));
}
protected WebElement findByXpath(String xpath) {
return driver.findElement(By.xpath(xpath));
}
}