Прокрутка до нужного элемента в приложении

saidufa

Client
Регистрация
28.04.2022
Сообщения
5
Благодарностей
0
Баллы
1
Перечитав половину ветки пришел к выводу что безкостыльного способа прокрутки страницы приложения до нужного элемента нет, ибо не возможно найти то что еще не нарисовано на экране
А есть ли что-то заменяющее swipe? Работающее в приложениях?
Что-то типа pageDown? {AndroidKeys.PAGE_DOWN} - не срабатывает в данном apk
 

Maxxm

Client
Регистрация
24.08.2021
Сообщения
125
Благодарностей
43
Баллы
28
Попадаются много дибильных apk в которых не работает свайп...точнее работает если делать его самому мышкой, а если командой swipe то нет. Помимо pageDown попробуй просто {AndroidKeys.DOWN}, иногда помогает. Еще как вариант swipe, pageDown и DOWN прокручивают экран на пару миллиметров, иногда не особо заметных, тогда до нужного элемента нужно крутить и 20 и 50 раз...тут только тестить
 

saidufa

Client
Регистрация
28.04.2022
Сообщения
5
Благодарностей
0
Баллы
1
swipe работает, тут неудобство - на разных экранах приходится изворачиваться и высчитывать координаты для свайпа чтобы не уходили за границы экрана
{AndroidKeys.DOWN} - это тоже не работает
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 026
Благодарностей
544
Баллы
113
swipe работает, тут неудобство - на разных экранах приходится изворачиваться и высчитывать координаты для свайпа чтобы не уходили за границы экрана
{AndroidKeys.DOWN} - это тоже не работает
{AndroidKeys.MOVE_END}
 

t79

Client
Регистрация
29.04.2024
Сообщения
44
Благодарностей
8
Баллы
8
я бы задачу иначе,

1) если можно найти текст и элемент текстовой - можно использовать кубик "проверка наличия текста" в конструкторе - если находит, нужные действия, если нет - то свайр на одну треть экрана
2) если элемент графический - в свой свойствах "клик по картинке" в том же конструкторе, можно указать действие при нахождении,
ставишь ожидание элемента в 1 секунду и если выход их кубика верный - то нужное тебе действие, если выход с ошибкой - свайп на треть экрана

правда, такое решение имеет недостаток, как попадание в вечный цикл, поэтому или делай это в цикле, что софт мог выйди, или счетчик с условием на выход.
 

Вложения

t79

Client
Регистрация
29.04.2024
Сообщения
44
Благодарностей
8
Баллы
8
swipe работает, тут неудобство - на разных экранах приходится изворачиваться и высчитывать координаты для свайпа чтобы не уходили за границы экрана
{AndroidKeys.DOWN} - это тоже не работает
а вот тут рекомендую создать или sql табличку, или txt справочник, чтобы поток сразу понимал, какое у него разрешение
 

Maxxm

Client
Регистрация
24.08.2021
Сообщения
125
Благодарностей
43
Баллы
28
я бы задачу иначе,

1) если можно найти текст и элемент текстовой - можно использовать кубик "проверка наличия текста" в конструкторе - если находит, нужные действия, если нет - то свайр на одну треть экрана
2) если элемент графический - в свой свойствах "клик по картинке" в том же конструкторе, можно указать действие при нахождении,
ставишь ожидание элемента в 1 секунду и если выход их кубика верный - то нужное тебе действие, если выход с ошибкой - свайп на треть экрана

правда, такое решение имеет недостаток, как попадание в вечный цикл, поэтому или делай это в цикле, что софт мог выйди, или счетчик с условием на выход.
поиск по картинке, а так же клик по картинке, работает крайне коряво...потом в проекте из-за такого куча ошибок и вылетов. Советую это юзать только в крайних случаях, и когда ты на 1000% знаешь что картинка никогда не меняется, и всегда в одном и том же месте)
 

saidufa

Client
Регистрация
28.04.2022
Сообщения
5
Благодарностей
0
Баллы
1
а вот тут рекомендую создать или sql табличку, или txt справочник, чтобы поток сразу понимал, какое у него разрешение
Размеры экрана я теперь храню в профиле, и оперирую для свайпа процентами от длины и высоты экрана.
Типа если надо свайпнуть вниз беру значения:

{-Profile.DisplayWidth-} * 0.5;{-Profile.DisplayWidth-} * 0.5;{-Profile.DisplayHeight-} * 0.9;{-Profile.DisplayHeight-} * 0.1;

и ставлю в свайпилку

Возможно это можно элегантнее сделать одним кубиком adb или C#, но я пока так живу, и оно работает универсально)

Кстати ширина и высота экана не генерятся вместе с профилем, приходится обновлять их на соотвествующее устройству из профиля
 

saidufa

Client
Регистрация
28.04.2022
Сообщения
5
Благодарностей
0
Баллы
1
1) если можно найти текст и элемент текстовой - можно использовать кубик "проверка наличия текста" в конструкторе - если находит, нужные действия, если нет - то свайр на одну треть экрана
2) если элемент графический - в свой свойствах "клик по картинке" в том же конструкторе, можно указать действие при нахождении,
ставишь ожидание элемента в 1 секунду и если выход их кубика верный - то нужное тебе действие, если выход с ошибкой - свайп на треть экрана
Элемент который надо искать ни текст и ни картинка, это одно из значений атрибута id его можно только по xpatch, и толко если доскролил до него поэтому классические методы тут не работают
 

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