Я использую Selenium 3.14 и ChromeDriver 2.42 с Chrome 69.0. Я всегда использовал этот код для перетаскивания, который работал до недавнего времени, когда тесты начали давать сбой:
$driver->action()->clickAndHold()->moveByOffset(100, 0)->release()->perform();
После некоторого обновления Chrome он просто перестал перетаскивать. Я также попробовал функцию dragAndDropBy(), но безуспешно. (dragAndDrop() не вариант, потому что мне нужно перемещаться внутри одного элемента).

После нескольких часов экспериментов я смог сузить проблему до этой странной вещи, когда при использовании moveByOffset с большим числом, например 100 в моем примере, происходит сбой, он просто странным образом отскакивает на месте. Но когда я попытался переместить его только на пару пикселей, это сработало.
Это код, который у меня получился:
$driver->action()->clickAndHold()->perform();
for($i = 0; $i < 10; $i++){
//moving this 10 times by 10 px instead of once by 100px
$driver->action()->moveByOffset(10, 0)->perform();
}
sleep(1);
$driver->action()->release()->perform();
Я просто хочу поделиться этим, если кто-то столкнулся с подобной проблемой.