Перейти к содержимому

Фотография

Не работает Drag And Drop


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 21 декабря 2016 - 14:11

Не работает Drag And Drop, точнее он срабатывает(происходит клик по элементу который надо перетянуть) но нет перемещения самого элемента. У кого-нибудь есть идеи почему так происходит?

Код ниже:

 [When(@"I also drag and drop new players on field")]
        public void WhenIAlsoDragAndDropNewPlayersOnField()
        {

            //елемент который надо перетянуть
            IWebElement dragElementFrom =  Browser.ByText("div", "Will");
            //место куда тянем
            IWebElement dropElementTo = Browser.ByText("span", "X");
         
          //само действие
          new Actions(Browser.Driver()).DragAndDrop(dragElementFrom, dropElementTo).Build().Perform();
        }

  • 0

#2 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 22 декабря 2016 - 09:22

 

Не работает Drag And Drop, точнее он срабатывает(происходит клик по элементу который надо перетянуть) но нет перемещения самого элемента. У кого-нибудь есть идеи почему так происходит?

Код ниже:

 [When(@"I also drag and drop new players on field")]
        public void WhenIAlsoDragAndDropNewPlayersOnField()
        {

            //елемент который надо перетянуть
            IWebElement dragElementFrom =  Browser.ByText("div", "Will");
            //место куда тянем
            IWebElement dropElementTo = Browser.ByText("span", "X");
         
          //само действие
          new Actions(Browser.Driver()).DragAndDrop(dragElementFrom, dropElementTo).Build().Perform();
        }

Дополнение к выше сказаному: Код написан на С#, используется webdriver, браузер выполнения Chrome, frame не используются в html коде. Реализация через javascript также не принесла результатов:

 var dragString = File.ReadAllText(@"C:\SeleniumTests\drag.js");

            IJavaScriptExecutor js = (IJavaScriptExecutor) Browser.Driver();
            js.ExecuteScript(dragString +
                             "$('.baron-container1970 > div:nth-child(2)')" +
                             ".simulateDragDrop({ dropTarget: 'div.ox-depth-position-sortable:nth-child(5)'});");

  • 0

#3 Argem

Argem

    Новый участник

  • Members
  • Pip
  • 10 сообщений


Отправлено 28 декабря 2016 - 12:53

У меня работает вот так:
new Actions(getDriver()).dragAndDrop(Event, day).perform();

Если не заработает, то значит не так определяется элемент для перетаскивания или элемент куда перетаскивать.


  • 0

#4 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 04 января 2017 - 11:38

 

 

У меня работает вот так:
new Actions(getDriver()).dragAndDrop(Event, day).perform();

Нет к сожалению этот способ в моем случае не работает, однако удалось решить данную проблему через js. Если интересно как могу предоставить исходник.


  • 0

#5 Argem

Argem

    Новый участник

  • Members
  • Pip
  • 10 сообщений


Отправлено 10 января 2017 - 08:51

 

Если интересно как могу предоставить исходник.

 

Да, лучше написать,  чем не написать.
Кому-нибудь да пригодится.


  • 0

#6 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 19 января 2017 - 10:23

Вот код для drag and drop. В прикрепленном файле описана функция для drag на js, а ниже код для ее вызова из кода на с#.

Прикрепленные файлы


  • 0

#7 Alekssh1ft

Alekssh1ft

    Новый участник

  • Members
  • Pip
  • 30 сообщений


Отправлено 21 февраля 2017 - 14:48

 

Не работает Drag And Drop, точнее он срабатывает(происходит клик по элементу который надо перетянуть) но нет перемещения самого элемента. У кого-нибудь есть идеи почему так происходит?

Код ниже:

 [When(@"I also drag and drop new players on field")]
        public void WhenIAlsoDragAndDropNewPlayersOnField()
        {

            //елемент который надо перетянуть
            IWebElement dragElementFrom =  Browser.ByText("div", "Will");
            //место куда тянем
            IWebElement dropElementTo = Browser.ByText("span", "X");
         
          //само действие
          new Actions(Browser.Driver()).DragAndDrop(dragElementFrom, dropElementTo).Build().Perform();
        }

А какой версии Селениум?


  • 0

#8 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 21 февраля 2017 - 15:45

Наверное с этим связано

https://github.com/m...iver/issues/233

 

Вот обсуждение

http://automated-tes...elenium/12483/8


  • 0

#9 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 07 марта 2017 - 14:15

 

dimaChen сказал(а) 21 Дек 2016 - 07:11:

snapback.png

 

Не работает Drag And Drop, точнее он срабатывает(происходит клик по элементу который надо перетянуть) но нет перемещения самого элемента. У кого-нибудь есть идеи почему так происходит?

Код ниже:

[When(@"I also drag and drop new players on field")]
public void WhenIAlsoDragAndDropNewPlayersOnField()
{

//елемент который надо перетянуть
IWebElement dragElementFrom = Browser.ByText("div", "Will");
//место куда тянем
IWebElement dropElementTo = Browser.ByText("span", "X");

//само действие
new Actions(Browser.Driver()).DragAndDrop(dragElementFrom, dropElementTo).Build().Perform();
}

А какой версии Селениум?

 Selenium 3.0


  • 0

#10 Alekssh1ft

Alekssh1ft

    Новый участник

  • Members
  • Pip
  • 30 сообщений


Отправлено 08 марта 2017 - 10:09

[quote name="dimaChen" post="158808" timestamp="1488896113"]

[quote]

dimaChen сказал(а) 21 Дек 2016 - 07:11:
snapback.png
[quote name="dimaChen" post="157067" timestamp="1482329496"]


Не работает Drag And Drop, точнее он срабатывает(происходит клик по элементу который надо перетянуть) но нет перемещения самого элемента. У кого-нибудь есть идеи почему так происходит?
Код ниже:[When(@"I also drag and drop new players on field")]
public void WhenIAlsoDragAndDropNewPlayersOnField()
{

//елемент который надо перетянуть
IWebElement dragElementFrom = Browser.ByText("div", "Will");
//место куда тянем
IWebElement dropElementTo = Browser.ByText("span", "X");

//само действие
new Actions(Browser.Driver()).DragAndDrop(dragElementFrom, dropElementTo).Build().Perform();
}[/quote]
А какой версии Селениум?
[/quправ
Selenium 3.0[/quote]

Так в 3.0 насколько я помню класс Actions не работает ещё, поправьте если не прав
  • 0

#11 dimaChen

dimaChen

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zimin Dima

Отправлено 31 марта 2017 - 16:22

 

 

Так в 3.0 насколько я помню класс Actions не работает ещё, поправьте если не прав 

Работает в 3.0, проверено ), код выше это подтверждает


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных