Автоматизация приложения в Ubuntu

У меня есть некоторая последовательность действий, что я выполняю использование приложения, предоставленного третьим лицом. Я хочу записать, что удар пишет сценарий таким образом, что все это может быть выполнено от терминала. Но для этого, я должен знать внутренние функции, которые выполняет приложение, когда я нажимаю на кнопку или устанавливаю некоторый параметр. Кроме того, даже возможно управлять GUI с помощью терминала, управляет только? Любая справка высоко ценилась бы.

2
задан 5 October 2018 в 01:18

3 ответа

А очень простой сценарий оболочки с GUI, что:

  1. Проверки версия Firefox.
  2. , Если версия Firefox не нашла, что будет предполагаться, что это не установлено, бросит сообщение, как установить его.
  3. Firefox может быть запущен, только если Вы нажимаете "OK".

можно изменить его согласно потребностям:

#!/bin/bash

clear;
firefox --version >/dev/null 2>&1;
check=$?

if [ "$check" != "0" ]; then
echo "Firefox not found!"
zenity --width=300 --info --text="
How to install:
sudo apt-get install firefox" 2> /dev/null
exit 1
elif [ "$check" = "0" ]; then
echo "Found:"
firefox --version;
anser=$(zenity --title="Firefox Launcher"  --info  --text "Launch Firefox?" --ok-label="OK" --width=150 2> /dev/null)
response=$?
fi

if [ "$response" = "0" ]; then
echo "Launching Firefox..."
firefox 2> /dev/null;
echo "Firefox has been launched"
elif [ "$response" = "1" ]; then
echo "Quit"
fi

Копия вышеупомянутый код к текстовому редактору и имени файл что-либо, что Вы любите, сохраните его в своем каталоге Desktop (, или где угодно Вы предпочитаете )

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

Для выполнения сценария запустите терминал и тип:

bash ~/Desktop/yourfile
0
ответ дан 2 December 2019 в 04:41

Для управления приложением GUI от терминальных команд можно использовать инструменты как xdotool и xsel.

xdotool моделирует нажатия клавиш и действия мыши. Можно таким образом записать сценарий, который отправит ключи и щелчки мышью в последовательности к приложению, которое будет взаимодействовать на них так же, как если бы Вы использовали бы клавиатуру и мышь сами.

xsel или xclip инструменты, разрешающие Вам получить или установить буфер обмена из командной строки.

Так же, как иллюстрация и дают самую первую идею о том, как она работает, после команды выбрал бы слово перед курсором и сократил бы его к буферу обмена.

xdotool key ctrl+shift+Left ctrl+x

Ваш сценарий мог затем получить выбор буфера обмена, чтобы сделать что-то с ним:

SELECTION=$(xsel -b)

Некоторые комментарии:

  • Эти инструменты будут работать надежно только над X, не, или меньше reiably, над новым сервером дисплея Уэйленд
  • , необходимо будет включать достаточные задержки. Система может отбросить нажатия клавиш, если обеспечено слишком быстро. Это занимает время, настраивая сценарий в этом отношении. Все же, если Вы успешно выполнитесь, то Вы сможете повторить ту же задачу значительно быстрее и без ошибок.
1
ответ дан 2 December 2019 в 04:41

Что-то вроде Selenium может работать, если вы просто хотите управлять чем-то вроде Firefox (также команда Firefox https://www.google .com работает) Например: (Это Python 3, но что-то похожее может работать и на java)

from selenium import webdriver #import the webdriver object
browser = webdriver.Firefox() # open a Firefox window, this also 
requires a firefox driver (geckodriver)
browser.get("https://www.google.com")
searchbar = browser.find_element_by_css_selector("input")
searchbar.send_keys("example google search")

Если вы хотите запустить что-то еще, попробуйте поискать что-то вроде x-runner.

Если вы ищете окна, это будет winrunner

0
ответ дан 2 September 2020 в 13:31

Другие вопросы по тегам:

Похожие вопросы: