как перетащить элемент с зажатой кнопкой мыши

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8
Здравствуйте! При регистрации ВК после загрузки фото необходимо растянуть видимую область, перерыл уже всё, но так и не понял как это сделать. Максимум научился просто перемещать мышь по заданным координатам.

C#:
// try find the element
var he = instance.ActiveTab.FindElementByTag("div", 0);

// if the element was found
if (!he.IsVoid)
{
//scroll to the element   
    he.ScrollIntoView();

//sliding the element
    he.RiseEvent("onmousedown", "full");
    instance.ActiveTab.MouseMove(int.Parse(project.Variables["left"].Value)+1, int.Parse(project.Variables["top"].Value)-1, 530, 230);
    he.RiseEvent("onmouseup", "full");
}

left и top - координаты объекта (маленький квадратик на рамке для перетаскивания)
вторые координаты так для пробы

Может элемент как то неправильно ищу, может ещё что. Подскажите пожалуйста
80523
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
там есть еще метод движения мыши c эмуляцией. поищи в выпадающем списке и попробуй его. К тому же он наглядно будет показывать как мышь двигается
 

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8
там есть еще метод движения мыши c эмуляцией. поищи в выпадающем списке и попробуй его. К тому же он наглядно будет показывать как мышь двигается
Не понял ни чего. Можно поподробнее, в каком выпадающем списке? Мышь я и так вижу как движется
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
А Click разве зажимает кнопку мыши? Мне не одиночный клик нужен, а именно перетаскивание с зажатой кнопкой
там внутри параметры. можно выставить зажатие отжатие
 

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8
там внутри параметры. можно выставить зажатие отжатие
The mouse button event. It can be "click", "down" or "up". это как я понимаю вот эти? "down" - зажатие, "up"- отпустить. Всё верно?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
  • Спасибо
Реакции: alex345

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
Сделал таким образом, но на другом сайте, поэтому нужно допилить первую строку
C#:
HtmlElement he = instance.GetTabByAddress("mail").GetDocumentByAddress("0").FindElementByAttribute("i", "class", "arrow-left", "text", 0);
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//зажимаем мышь в начальных координатах x-5:y+5 и перетаскиваем до конца элемента
instance.ActiveTab.FullEmulationMouseDragAndDrop(x, y, x - 250, y);
 

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Благодарностей
2
Баллы
8
Сделал таким образом, но на другом сайте, поэтому нужно допилить первую строку
C#:
HtmlElement he = instance.GetTabByAddress("mail").GetDocumentByAddress("0").FindElementByAttribute("i", "class", "arrow-left", "text", 0);
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//зажимаем мышь в начальных координатах x-5:y+5 и перетаскиваем до конца элемента
instance.ActiveTab.FullEmulationMouseDragAndDrop(x, y, x - 250, y);
<благодарю!
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)