Как узнать координаты кнопки через C#

biryukovm

Client
Регистрация
19.05.2019
Сообщения
152
Благодарностей
10
Баллы
18
Всем привет может кто подскажет как получить координаты у элемента или кнопки согласно XPath но нужно узнать

  • Координата X
  • Координата Y
  • Высота
  • Ширина
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 418
Благодарностей
790
Баллы
113
C#:
            var elem = instance.DroidInstance.AppiumDriver.FindElementByXPath("XPATH"); //вместо XPATH надо прописать свой XPATH
            var elementLocation = elem.GetAttribute("bounds").Replace("][", "|").Replace("]", "").Replace("[", "");
            project.SendInfoToLog($"Получаем координаты элемента: {elementLocation}");
            project.SendInfoToLog($"Делаем распарс: {elementLocation}");
            int x1 = Convert.ToInt32(elementLocation.Split('|')[0].Split(',')[0]);
            int x2 = Convert.ToInt32(elementLocation.Split('|')[1].Split(',')[0]);
            int y1 = Convert.ToInt32(elementLocation.Split('|')[0].Split(',')[1]);
            int y2 = Convert.ToInt32(elementLocation.Split('|')[1].Split(',')[1]);
            project.SendInfoToLog($"X1={x1} X2={x2} Y1={y1} Y2={y2}");
            return elementLocation;
 

biryukovm

Client
Регистрация
19.05.2019
Сообщения
152
Благодарностей
10
Баллы
18
C#:
            var elem = instance.DroidInstance.AppiumDriver.FindElementByXPath("XPATH");
            var elementLocation = elem.GetAttribute("bounds").Replace("][", "|").Replace("]", "").Replace("[", "");
            project.SendInfoToLog($"Получаем координаты элемента: {elementLocation}");
            project.SendInfoToLog($"Делаем распарс: {elementLocation}");
            int x1 = Convert.ToInt32(elementLocation.Split('|')[0].Split(',')[0]);
            int x2 = Convert.ToInt32(elementLocation.Split('|')[1].Split(',')[0]);
            int y1 = Convert.ToInt32(elementLocation.Split('|')[0].Split(',')[1]);
            int y2 = Convert.ToInt32(elementLocation.Split('|')[1].Split(',')[1]);
            project.SendInfoToLog($"X1={x1} X2={x2} Y1={y1} Y2={y2}");
Вариант интересный а что насчет данных со свойства элемента ?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 418
Благодарностей
790
Баллы
113
Вариант интересный а что насчет данных со свойства элемента ?
а что подразумевается под свойствами элемента? Если мы говорим про объект типа IAndroidElementAP то у него там нету нифига в свойствах кроме текста и айдишника. А остальные его данные вытягиваются через атрибут, как в моём коде и сделано. В итоге мой вариант не только интересный но и единственно верный)
 
Последнее редактирование:
  • Спасибо
Реакции: biryukovm

biryukovm

Client
Регистрация
19.05.2019
Сообщения
152
Благодарностей
10
Баллы
18
а что подразумевается под свойствами элемента? Если мы говорим про объект типа IAndroidElementAP то у него там нету нифига в свойствах кроме текста и айдишника. А остальные его данные вытягиваются через атрибут, как в моём коде и сделано
В целом да я тоже уже так думал делать но думал есть другой вариант как в ZennoPoster
 

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