Гарантированно кликнуть на пустое место на странице

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
Иногда после перехода на страницу нужно кликнуть на пустое место что бы потом, скажем, листать данную страницу вниз. Сейчас это делаю через экшн "Эмуляция мыши" примерно прикидывая где есть свободное место на странице. Но проблема в том что при изменения разрешения экрана мышь начинает попадать в другую область экрана и далее весь шаблон идет на смарку.

Собственно вопрос - как можно победить данную проблему?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Через конструктор действий - http://zennolab.com/wiki/ru:action_constructor
Найти какой-то элемент, который всегда есть на странице и добавить действие Rise<Click на нем.
 
  • Спасибо
Реакции: Mutant

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
Выбираю div с обычным текстом на странице - не клик по такому div, не фокус не дают никакого результата, к сожалению.
 

svaminar

Client
Регистрация
21.08.2013
Сообщения
834
Благодарностей
379
Баллы
63
можно попробовать верхний угол там как правило актив елементов нет
типа по корам 1:1
 
  • Спасибо
Реакции: woodoo1 и Mutant

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Результат - это срабатывание PgDown ?
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
можно попробовать верхний угол там как правило актив елементов нет
типа по корам 1:1
Сейчас примерно так и делаю, но хочется некий "разлет" по координатам. Но при смене разрешения промахивается.
Ладно, спасибо всем за помощь, посмотрим как быстро меня "вычислят" по точным координатам клика.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Сейчас примерно так и делаю, но хочется некий "разлет" по координатам. Но при смене разрешения промахивается.
Ладно, спасибо всем за помощь, посмотрим как быстро меня "вычислят" по точным координатам клика.
Можно также парсить координаты LeftInTab или TopInTab какого-то элемента на странице и кликать примерно по ним. Тут уже разрешение не повлияет.
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
Результат - это срабатывание PgDown ?
Это цель. Но после перехода по URL -> Pg Down не срабатывает пока не кликнешь на пустое место на странице.
Кстати, в VK такая же история, но там большие пустые области ниже рекламы и там не "промахиваешся"
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
Сейчас примерно так и делаю, но хочется некий "разлет" по координатам. Но при смене разрешения промахивается.
Ладно, спасибо всем за помощь, посмотрим как быстро меня "вычислят" по точным координатам клика.
я поставил -1 везде, вроде даже при замене расширения, ничего не меняется.
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
Проверьте, возможно, что на странице где то есть мерцающий курсор в текстовом поле, которые и не даёт листать страницу вниз. Если это так, то Ваша цель сфокусироваться на том элементе, после которого пропадёт этот курсор. после чего всё будет работать.
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
отрицательных координат быть не может как бы.
а https://help.zennolab.com/en/v5/zennoposter/5.4/ZennoLab.CommandCenter~ZennoLab.CommandCenter.HtmlElement~ScrollIntoView.html этот метод не скроллит?
Не могу сказать как, но у меня вот так


Отрабатывает без проблем. Пробовала сначала на 1 ставить везде, иногда промах был, потом поставил так все норм стало.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Мне логически непонятно зачем там отрицательные координаты
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Убери урл из кода

Код:
HtmlElement he = instance.ActiveTab.FindElementByAttribute("textarea", "name", "text", "text", 0);
if (!he.IsVoid)
{
    he.ScrollIntoView();
    instance.ActiveTab.MouseClick(he.DisplacementInTabWindow.X + 10, he.DisplacementInTabWindow.Y + 10, "left", "click");
}
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
Мне логически непонятно зачем там отрицательные координаты
Он так действует именно как клик и не промахивается в моей задаче, и не нужно искать какие то конкретные координаты чтобы не нажать или нажать правильно, может и логики нету, но по мне помогло) Хотя смотря на Ваши сообщение, понимаю, что можно все на много легче и просто делать)
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
Поторопился сказать что скролит. По URL переходит как нужно, но не скролит.
 

vebaction

Client
Регистрация
21.10.2015
Сообщения
4
Благодарностей
0
Баллы
3
Мне тоже интересно как реализовать клик по пустому месту один раз в цикле где много логики
Desctop screenshot.png
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
создал переменную по умолчанию 0, кликнул=> установил значение 1, при проверке если 0 то кликать значит, если 1 идём пить чай
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
прикладывайте пример с урлом. гадание
Ну, к примеру vk.com/любая_группа Если просто перейти по урлу, а потом попытаться сразу прокрутить страницу вниз ничего не произойдет.
Если после перехода на страницу кликнуть на пустое место на странице, то все пойдет как нужно.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Ну, к примеру vk.com/любая_группа Если просто перейти по урлу, а потом попытаться сразу прокрутить страницу вниз ничего не произойдет.
Если после перехода на страницу кликнуть на пустое место на странице, то все пойдет как нужно.
ну вот ведь ответ дали http://zennolab.com/discussion/threads/garantirovanno-kliknut-na-pustoe-mesto-na-stranice.22753/#post-153178 когда проект писал для фб с браузером точно так же делал
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Код:
HtmlElement he = instance.ActiveTab.FindElementByAttribute("div", "id", "footer", "text", 0);
if (!he.IsVoid)
{
    he.ScrollIntoView();
    instance.ActiveTab.MouseClick(he.DisplacementInTabWindow.X + 10, he.DisplacementInTabWindow.Y + 10, "left", "click");
}
 

Mutant

Client
Регистрация
19.09.2014
Сообщения
194
Благодарностей
36
Баллы
28
ну вот ведь ответ дали http://zennolab.com/discussion/threads/garantirovanno-kliknut-na-pustoe-mesto-na-stranice.22753/#post-153178 когда проект писал для фб с браузером точно так же делал
А если на странице только дивы с текстом и на них я пробовал и и клик и фокус, и другие формы. Но если я кликаю на другую форму, то прокрутка происходит внутри уже новой формы, а не страницы в целом.

Давайте изменим задачу - как кликнуть на пустой html странице не используя экшн "Эмуляция мыши"
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 773
Благодарностей
1 444
Баллы
113
А если на странице только дивы с текстом и на них я пробовал и и клик и фокус, и другие формы. Но если я кликаю на другую форму, то прокрутка происходит внутри уже новой формы, а не страницы в целом.

Давайте изменим задачу - как кликнуть на пустой html странице не используя экшн "Эмуляция мыши"
Вам же уже дали кучу правильных ответов, что вас не устраивает? Чем вам не подходит эмуляция мыши?

Прочитав у меня сразу к вашему вопросу приклеился вопрос=)))
Давайте изменим задачу - как кликнуть на пустой html странице не используя экшн "Эмуляция мыши" = Как кошке родить котенка, если она не была с котом?! :ap:
 
Последнее редактирование:

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