Как определить высоту окна относительно сайту?

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
Ку
Задача такая, есть страница, у нее известна высота(всей страницы), нужно проводить действия, то есть через какое-то действие мы оказываемся(экран), например, чуть ниже, на 100-200 пикселей от верха, как определить это расстояние?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
Как узнать y1 и y2 ?

61216
 
Последнее редактирование:

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 526
Благодарностей
1 323
Баллы
113
Ку
Задача такая, есть страница, у нее известна высота(всей страницы), нужно проводить действия, то есть через какое-то действие мы оказываемся(экран), например, чуть ниже, на 100-200 пикселей от верха, как определить это расстояние?
Тестировали этот вариант?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 526
Благодарностей
1 323
Баллы
113
этот вариант возвращает высоту окна экрана, мне нужны другие величины
Если я верно понимаю - этот код возвращает высоту окна(видимая область) - которая зависит от абсолютной высоты страницы, если это так, тогда мы можем узнать y1, методом узнать общую высоту страницы и отнять ее от видимого окна, если мы узнаем y1, то можно будет так же узнать y2, верно?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
вы протестируйте у себя и поймете что он возвращает, а возвращает только высоту видимой части, которая не влияет ни на что и высчитать то что нужно не получится, так как видимая часть может находиться где угодно...

или я чего-то не понимаю?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
Временно решил вопрос через получение координат курсора

C#:
return instance.ActiveTab.FullEmulationMouseCurrentPosition;
но вопрос остается
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
находи элемент html и у него получай topintab , это будет -y1


61253

для y2 тоже все есть. высота экрана это clientHeight, высота страницы height, посчитать y2 из этих величин уже можно

61254
 
  • Спасибо
Реакции: art22, luk911 и backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
@Phoenix78 помоги плиз сниппет составить такого плана


1. берем расстояние Y1
C#:
// Конструктор действий, тип Get
HtmlElement he = instance.ActiveTab.FindElementByAttribute("html", "fulltagname", "html", "regexp", 0);
if (he.IsVoid) return -1;

// Получить значение атрибута "top"
string attribute = he.GetAttribute("top");
получаем
Y1 = -356

2. далее переводим -356 в 356

3. к 356 прибавляем переменную Profile.AvailScreenHeight

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

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
методом тыка составил :-)

Мало ли кому-то пригодится...

Сниппет вычисления расстояния от начала сайта до нижней видимой части экрана в данной точке на сайте (о как завернул :-) )

C#:
var niz = project.Profile.AvailScreenHeight;

// Конструктор действий, тип Get
HtmlElement he = instance.ActiveTab.FindElementByAttribute("html", "fulltagname", "html", "regexp", 0);
if (he.IsVoid) return -1;
// Получить значение атрибута "top"
string attribute = he.GetAttribute("top");

var Y1 = he.GetAttribute("top");

// Текст для обработки
string text = project.ExecuteMacro(Y1);
// Обработка текста "Замена"
Y1 = Convert.ToString( Macros.TextProcessing.Replace(text, "-", "", "Text", "All"));

int num1 = (Convert.ToInt32(Y1));
int num2 = (Convert.ToInt32(niz));

var Y2 = num1 + num2;

return Y2;
 
  • Спасибо
Реакции: prodox, Roman48 и luk911

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
методом тыка составил :-)

Мало ли кому-то пригодится...

Сниппет вычисления расстояния от начала сайта до нижней видимой части экрана в данной точке на сайте (о как завернул :-) )

C#:
var niz = project.Profile.AvailScreenHeight;

// Конструктор действий, тип Get
HtmlElement he = instance.ActiveTab.FindElementByAttribute("html", "fulltagname", "html", "regexp", 0);
if (he.IsVoid) return -1;
// Получить значение атрибута "top"
string attribute = he.GetAttribute("top");

var Y1 = he.GetAttribute("top");

// Текст для обработки
string text = project.ExecuteMacro(Y1);
// Обработка текста "Замена"
Y1 = Convert.ToString( Macros.TextProcessing.Replace(text, "-", "", "Text", "All"));

int num1 = (Convert.ToInt32(Y1));
int num2 = (Convert.ToInt32(niz));

var Y2 = num1 + num2;

return Y2;
Есть код, как потом свайпнуть, по координатам? Если есть поделись пожалуйста.
 

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