Слияние кода завершено, страница обновится автоматически
import uiautomator2 as u2
d = u2.connect("--serial-here--") # Если есть только одно устройство, можно пропустить параметр
d = u2.connect() # Если есть одно устройство
d = u2.connect("10.1.2.3") # Подключение к устройству по IP (требуется быть в одной локальной сети и на устройстве должен быть запущен atx-agent)
d.app_current() # Получить имя пакета и активности текущего приложения
d.app_start("com.example.app") # Запустить приложение
d.app_start("com.example.app", stop=True) # Запустить приложение, предварительно остановив его
d.app_stop("com.example.app") # Остановить приложение
app = d.session("com.example.app") # Запустить приложение и получить сессию
# Цель сессии - выполнять действия и отслеживать, не упало ли приложение. Если упало, будет выброшено исключение SessionBrokenError
app.click(10, 20) # Клик по координатам
# Операции без сессии
d.click(10, 20) # Клик по координатам
d.swipe(10, 20, 80, 90) # Свайп с (10, 20) до (80, 90)
d.swipe_ext("right") # Свайп вправо по всему экрану
d.swipe_ext("right", scale=0.9) # Свайп вправо, расстояние - 90% ширины экрана
d.press("back") # Моделирование нажатия кнопки "Назад"
d.press("home") # Моделирование нажатия кнопки "Домой"
d.send_keys("hello world") # Моделирование ввода, необходимо, чтобы курсор был в поле ввода
d.clear_text() # Очистка поля ввода
# Выполнение команд shell
output, exit_code = d.shell("ps -A", timeout=60) # Выполнение команды shell, получение выходных данных и кода завершения
output = d.shell("pwd").output # Так тоже можно
exit_code = d.shell("pwd").exit_code # Так тоже можно
```# Операции с элементами
d.xpath("立即开户").wait() # Ожидание элемента, максимальное время ожидания — 10 секунд (по умолчанию)
d.xpath("立即开户").wait(timeout=10) # Изменение времени ожидания по умолчанию
# Часто используемые настройки
d.settings['wait_timeout'] = 20 # Время ожидания по умолчанию для поиска элементов (по умолчанию 20 секунд)
# Операции с XPath
d.xpath("立即开户").click() # Включает ожидание элемента и клик, соответствует кнопке с текстом или описанием "立即开户"
d.xpath("//*[@text='私人FM']/../android.widget.ImageView").click()
d.xpath('//*[@text="私人FM"]').get().info # Получение информации об элементе
for el in d.xpath('//android.widget.EditText').all():
print("rect:", el.rect) # вывод кортежа: (left_x, top_y, width, height)
print("bounds:", el.bounds) # вывод кортежа: (left, top, right, bottom)
print("center:", el.center())
el.click() # операция клика
print(el.elem) # вывод узла lxml
# Мониторинг всплывающих окон (мониторинг в отдельном потоке)
d.watcher.when("跳过").click()
d.watcher.start()
Приветствуем ваши отзывы. Особенно приветствуем Pull Request
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )