SanchelliosProg
@SanchelliosProg
Java, Android, Software Testing

Почему Selenium WebDriver перенаправил на страницу поиска Google?

Вспоминал 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));
    }
}
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 1
@1001001
Дак вроде все логично) Selenium работает плохо с html5 drag-and-drop, но событие движения все же генерируется (скорее всего))).
А в гугл переходит, т.к. у вам курсор физически находится на поисковой строке браузера (предположу, что в том месте кнопка запуска IDE). Вот вы взяли элемент, js посчитал координаты, они оказались в поисковой строке, и кинули туда, произошел поиск
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы