Начиная с версии 7.1.4.0, в CommandCenter.Tab добавлено свойство Touch с набором методов. В свойстве Touch есть базовые методы: TouchStart, TouchEnd, TouchMove, TouchCancel, а так же комплексные методы с перегрузками Touch, SwipeIntoView, SwipeBetween и другие.
Это только первый этап внедрения тач-событий в браузере Chrome, поэтому они пока что доступны только из C# кода. В ближайших версиях будет реализовано управление из интерфейса.
Примеры
var tab = instance.ActiveTab; var init = tab.FindElementByXPath("/html/body/button", 0); // Ищем HTML элемент через XPath tab.Touch.Touch(init); // Жмём по нему
var tab = instance.ActiveTab; HtmlElement init = tab.FindElementByXPath(".//button", 0); // Ищем HTML элемент через XPath tab.Touch.SwipeIntoView(init); // Скроллим экран тачами до нужного HTML элемента
var tab = instance.ActiveTab; // Будем делать свайп внутри HTML элемента. Составим XPath выражение. var canvas = tab.FindElementByXPath(@"//*[@id=""canvas""]", 0); // Получаем его размеры: ширину и высоту var width = canvas.BoundingClientWidth; var height = canvas.BoundingClientHeight; // Определяем координаты первого касания по оси X, и последнего - когда отпускаем палец var offsetX = width / 4; var minX = canvas.DisplacementInBrowser.X + offsetX; var maxX = minX + width - 2*offsetX; // Определяем координаты первого касания по оси Y, и последнего - когда отпускаем палец var offsetY = height / 4; var minY = canvas.DisplacementInBrowser.Y + offsetY; var maxY = minY; // Делаем свайп вправо tab.Touch.SwipeBetween(minX, minY, maxX, maxY);
Настройки
По умолчанию учитывается и рандомизируется ряд параметров: скорость, ускорение, кривая движения и другие. Все перемещения будут максимально естественными уже из «коробки», но если вам потребуется внести коррективы в поведение тач-событий – такая возможность тоже есть.
var tab = instance.ActiveTab; var parameters = tab.Touch.GetCopyOfTouchEmulationParameters(); // Получаем текущие настройки тача // Дальше пишем "parameters." и после точки syntax editor подскажет доступны поля этого объекта. //////////////////////// // Некоторые примеры //////////////////////// parameters.Acceleration = 1.2f; // Поставим ускорение посильнее parameters.MinCurvature = 0; // Пусть минимальная кривизна - прямая линия parameters.MaxCurvature = 1; // А максимальная кривизна - очень сильный изгиб // Изгиб кривой ближе к начальной точке parameters.MinCurvePeakShift = 0f; parameters.MaxCurvePeakShift = 0.2f; parameters.MinStep = 1; // Начальная скорость пониже parameters.MaxStep = 60; // А финальная - выше parameters.RightThumbProbability = 0.7f; // В 70% случаев будет использоваться правый палец, а в 30% - левый. tab.Touch.SetTouchEmulationParameters(parameters); // ВАЖНО: ПРИМЕНЯЕМ НАСТРОЙКИ - ИНАЧЕ НИЧЕГО НЕ ИЗМЕНИТСЯ // Ещё больше настроек здесь: https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic951.html // instance.ActiveTab.Touch.SetTouchEmulationParameters(new TouchEmulationParameters()); // Устанавливаем настройки по умолчанию
Демонстрационный проект
Скачать