двойной клик по элементу

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
Доброго времени!
вот тут мне подсказали, как делать Click() по элементу, а не по координатам. А можно ли как то по элементу выполнять двойной клик?
подозреваю, что нужно просто выполнять 2 раза подряд данное действие, но это срабатывает далеко не с первого раза.
есть текстовое поле для ввода. там уже есть предустановленное значение. хочу его стереть вызвав дабл клик. с последующей отправкой KEYCODE_DEL и печатью своего значения.
делаю:
C#:
var element = driver.FindElementByXPath(бла бла);

element.Click();
element.Click();
и фига. кликается один раз. курсор ставится в конец текста. если вызвать повторно, то тогда отрабатывает.
пауза между кликами не помогает.
C#:
droid.Input.ClearText();
тоже не всегда отрабатывает почему то.
 
  • Спасибо
Реакции: Phoenix78

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
474
Благодарностей
372
Баллы
63
есть текстовое поле для ввода. там уже есть предустановленное значение. хочу его стереть вызвав дабл клик. с последующей отправкой KEYCODE_DEL и печатью своего значения.
Функция SendText заменяет значение в поле ввода.
C#:
var driver = instance.DroidInstance.AppiumDriver;
var element = driver.FindElementByUiAutomator("new UiSelector().className(\"android.widget.EditText\").textContains(\"старый текст\")");

if (element == null)
    return "not found";

element.SendText("новый текст");
droid.Input.ClearText() очищает поле ввода тремя различными методами, один из которых как раз использует KEYCODE_DEL. Скорее нужно посмотреть, почему не всегда отрабатывает очистка. Очищается поле, которое находится в фокусе, как вариант поле ввода не успело получить фокус.
Проверка, что выбрано нужное поле для ввода:
var driver = instance.DroidInstance.AppiumDriver;
var element = driver.FindElementByXPath(бла бла);

if (element == null)
    throw new Exception("Элемент не найден");

if (element.GetAttribute("focused") == "false")
    throw new Exception("Элемент не в фокусе");
 

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
Функция SendText заменяет значение в поле ввода.
Увы, не заменяет, а добавляет. Если бы заменяла, вопроса бы не было. курсор установился в конец старого текста, делаю SendText, а он дописывается к старому тексту.
 

Sho

Активный пользователь
Регистрация
08.08.2022
Сообщения
100
Благодарностей
51
Баллы
28
Увы, не заменяет, а добавляет. Если бы заменяла, вопроса бы не было. курсор установился в конец старого текста, делаю SendText, а он дописывается к старому тексту.
Просто сделай сначала в после ctr+a, а потом SendText.
 
  • Спасибо
Реакции: gera

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
  • Спасибо
Реакции: Phoenix78

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
это не зенопостер, это дройд. тут нет активного таба. не работает такой метод.
Да, прошу прощения, подумал что вопрос по Зеннопостеру.

Уточните, какое действие вам нужно, во избежание недопониманий? Выделение текста или перевод курсора к началу строки текста (в варианте этого сочетания кнопок для Андроида), либо переход к верху экрана приложения?

Если же надо перейти (быстро просвайпать) наверх экрана приложения, то попробуйте в этой теме посмотреть варианты:
 
Последнее редактирование:

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
Да, прошу прощения, подумал что вопрос по Зеннопостеру.

Уточните, какое действие вам нужно, во избежание недопониманий? Выделение текста или перевод курсора к началу строки текста (в варианте этого сочетания кнопок для Андроида), либо переход к верху экрана приложения?

Если же надо перейти (быстро просвайпать) наверх экрана приложения, то попробуйте в этой теме посмотреть варианты:
выделить текст, удалить его, написать свой.
droid.Input.ClearText() сломан. из за него шаблон отваливается.
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
474
Благодарностей
372
Баллы
63

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
Какую ошибку выдает при выполнении? В ZennoDroid 2.3.4 были внесены исправления в эту функцию.
прям сейчас не могу сказать. инстанс закрывается вместе с копией эмулятора.
 

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