Как во время примотки определять расположение элементов на экране

  • Автор темы Автор темы SlavenTyz
  • Дата начала Дата начала

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 188
Реакции
38
Баллы
48
На страницы отображаются не все элементы, если мотануть вниз то список элементов обновляется. И мне нужно понимать в пределах экрана нужный элемент есть или нет. Другими словами нужно что бы во время промотки вниз элементы которые индифицирую (т.е мотаю до тех пор пока не найду нужный элемент) находится по середине экрана. Может уже посоветуете темы или своим опытом поделитись, что бы грамотный проект сделать
 
надо проверять свойства элементов и строить логику исходи из полученных результатов.

108724

108725

проверить выход элемента за верхнюю границу можно вот таким простым способом.

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

Посмотреть вложение 108724

Посмотреть вложение 108725

проверить выход элемента за верхнюю границу можно вот таким простым способом.

ну, а получение смещения текущего видимого окна можно сделать как через JS , так и чекая координаты html страницы. можно усложнить задачу поиском пересечения прямоугольника элемента и прямоугольника видимого окна в браузере.
Мне нужно значение X Y. Там же прямоугольник, ну так вот мне нужны значения этого прямоугольника
 
Последнее редактирование:
Народ я запутался. Листаю элементы div и в атрибутах значения не меняются, но как высоту узнать, что бы расположить по середине экрана
108729
 
Координаты начала элемента по xPath
C#:
Развернуть Свернуть Копировать
//создайте переменные X и Y
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath("_укажи_xPath_путь_до_элемента_",0);

//тут были нужные тебе данные о позиции элемента
project.SendInfoToLog("Y:"+Convert.ToString(he.DisplacementInTabWindow.Y), false);
project.SendInfoToLog("X:"+Convert.ToString(he.DisplacementInTabWindow.X), false);
project.Variables["X"].Value = Convert.ToString(he.DisplacementInTabWindow.X);
project.Variables["Y"].Value = Convert.ToString(he.DisplacementInTabWindow.Y);
 
Последнее редактирование:

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