думаешь за десяток лет нет рабочего готового решения ?Спасибо за ответы! Я так понимаю стандартного решения для этого нет в Зеннопостере, может есть у кого кусочек кода для примера, куда можно просто свой элемент подставить?
В этих статьях про поиск элемента на странице, но нужно решение не найти элемент, а определить находится ли нужный элемент в данный момент именно в видимой части инстанса.
надо учится читать информацию. и искать ее.В этих статьях про поиск элемента на странице, но нужно решение не найти элемент, а определить находится ли нужный элемент в данный момент именно в видимой части инстанса.
Все же мне кажется речь о разных вещах.... Приведу пример, на скрине мы видим выдачу гугла по запросу, и видим визуально в браузере только верх этой выдачи. Внизу есть кнопка "Следующая", но на данный момент она за экраном. И я пытаюсь найти код который может определять видна эта кнопка на данный момент или нет (не в древе элементов, а именно на экране видимой части странички). Найти ее не проблема и проскролить до нее можно, она не скрыта, не фейковая, но именно при загрузке страницы находится за экраном. Просто нужно определять видна ли она визуально в окошке браузера при просмотре страницы на данный момент.вот скрин с первой же ссылки. но кажется до этого места не хватило терпения дочитать у когото
Цель очеловечить бота, найти и убрать палевные моменты. Постепенно скроллить страницу и кликать по элементам по мере их появления на экране. Сейчас ScrollIntoView как то по ботски это делает. Например, нужный сайт в выдаче может быть в верху или внизу страницы и это метание по выдаче то вверх то вниз как то не естественно выглядит. Палится где то эмуляция мыши, а где непонятно, пытаюсь экспериментировать.в самом деле, какая конечная цель то ?
довольно узкая задача, мало кто заморачивается так.Цель очеловечить бота, найти и убрать палевные моменты. Постепенно скроллить страницу и кликать по элементам по мере их появления на экране. Сейчас ScrollIntoView как то по ботски это делает. Например, нужный сайт в выдаче может быть в верху или внизу страницы и это метание по выдаче то вверх то вниз как то не естественно выглядит. Палится где то эмуляция мыши, а где непонятно, пытаюсь экспериментировать.
я что-то не пойму, а в чем сложность получить атрибут элемента "topInTab" и если он больше высоты инстанса или с отрицательным значением, значит элемент за пределами окна браузера?!Просто нужно определять видна ли она визуально в окошке браузера при просмотре страницы на данный момент.
Спасибо, похоже рабочий вариант.я что-то не пойму, а в чем сложность получить атрибут элемента "topInTab" и если он больше высоты инстанса или с отрицательным значением, значит элемент за пределами окна браузера?!
for(int i=0; i < 30; i++)
{
HtmlElement check = instance.ActiveTab.FindElementByXPath(@"ТУТ_XPATH", 0);
var check_top = check.GetAttribute("topInTab");
var check_height = check.GetAttribute("height");
var check_width = check.GetAttribute("width");
var check_style = check.GetStylePropertyValue("display");
project.SendInfoToLog(check_height +" " + check_height + " " +check_width + " " + check_style); //выводит в лог значения
if (check_top == "")
{
}
else
{
if (int.Parse(check_top) > 0 && int.Parse(check_height) > 0 && int.Parse(check_width) > 0 && check_style != "none")
{
project.SendInfoToLog("Элемент загрузился");
return "ok";
}
}
System.Threading.Thread.Sleep(1000);
}
Это у меня не для кликов , а для проверки наличия или не наличия элемента на страницену за экраном и что? На нормальной эмуляции зенка сделает вид, что проматывает страницу к этой кнопке, прежде чем кликнуть
если ты с элементом никак не взаимодействуешь, то о каком палеве идёт речь?Это у меня не для кликов , а для проверки наличия или не наличия элемента на странице
Да я в другую тему хотел написать , перепутал не много. Просто искал по проверке видимости элемента тему и сюда тоже попадал. Оставил код , может кому пригодится.если ты с элементом никак не взаимодействуешь, то о каком палеве идёт речь?
ред. Аааа, ты не автор. Это у него палево