Вопрос по определению размеров HtmlElement

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 082
Благодарностей
29
Баллы
48
Всем привет нужно при регистрации аккаунта приподнять фотографию, но возникло несколько сложностей
1) При открытии окна с отладкой координаты меняются
2) Какие атрибуты использовать что бы корректно навести на фото и корректно его поднять

71842
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 082
Благодарностей
29
Баллы
48
что значит приподнять ?
Нужно навести мышку на элемент, кликнуть левую кнопку и поднять фото на несколько пикселей, но так что бы в пределах данного окна. Планирую использовать эту функцию
instance.ActiveTab.FullEmulationMouseDragAndDrop(10,37,61,37);
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 712
Баллы
113

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 082
Благодарностей
29
Баллы
48
эти используй
Посмотреть вложение 71846

высчитай центр картинки и хватай за центр.
Почему то не получается кликнуть на нужный элемент, вот как я их выделяю
71859


а вот расчет средней ширины и высоты

string strtopInTab=htmClic.GetAttribute("topInTab"); //x
project.SendInfoToLog("x-: "+ strtopInTab);
string leftInTab=htmClic.GetAttribute("leftInTab"); //y
project.SendInfoToLog("y- : "+ leftInTab);
string strtopInTabDelta=htmClic.GetAttribute("clientWidth"); //x ширина
project.SendInfoToLog("x- ширина: "+ strtopInTabDelta);
string leftInTabDelta=htmClic.GetAttribute("clientHeight"); //y высота
project.SendInfoToLog("y- высота: "+ leftInTabDelta);
try
{
//высчитываю середину ширины x
intstrtopInTab=Convert.ToInt32(strtopInTab);
intclientWidth=Convert.ToInt32(strtopInTabDelta);
Chirina=(intstrtopInTab+intclientWidth)/2;

// высчитываю середину длинны y
intleftInTab=Convert.ToInt32(leftInTab);
intclientHeight=Convert.ToInt32(leftInTabDelta);
intDlina=(intleftInTab+intclientHeight)/2;

intleftInTabW=Chirina+50;
intstrtopInTabW=intDlina+5;
}
catch
{
Flag=false;
}
if(Flag==false) continue;
project.SendInfoToLog("Кликаю по Х "+Chirina);
project.SendInfoToLog("Кликаю по У "+intDlina);
instance.ActiveTab.FullEmulationMouseMove(Chirina,intDlina);
instance.ActiveTab.FullEmulationMouseClick("left","down");
instance.ActiveTab.FullEmulationMouseMove(intleftInTabW,intstrtopInTab);
instance.ActiveTab.FullEmulationMouseClick("left","up");
 

volody00

Client
Регистрация
06.09.2016
Сообщения
900
Благодарностей
927
Баллы
93
Попробуй так:
C#:
HtmlElement htmClic = instance.ActiveTab.FindElementByXPath("//*[contains(text(), 'американского')]", 0); //найди свою картинку
instance.ActiveTab.FullEmulationMouseDragAndDrop(htmClic.DisplacementInBrowser.X + 50, htmClic.DisplacementInBrowser.Y, htmClic.DisplacementInBrowser.X + 50, htmClic.DisplacementInBrowser.Y-200); //параметры: координата x откуда начинаем тащить, координата y, координата х куда тащим, координата y
 

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