У меня есть некоторая последовательность действий, что я выполняю использование приложения, предоставленного третьим лицом. Я хочу записать, что удар пишет сценарий таким образом, что все это может быть выполнено от терминала. Но для этого, я должен знать внутренние функции, которые выполняет приложение, когда я нажимаю на кнопку или устанавливаю некоторый параметр. Кроме того, даже возможно управлять GUI с помощью терминала, управляет только? Любая справка высоко ценилась бы.
А очень простой сценарий оболочки с GUI, что:
- Проверки версия Firefox.
- , Если версия Firefox не нашла, что будет предполагаться, что это не установлено, бросит сообщение, как установить его.
- 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
Для управления приложением GUI от терминальных команд можно использовать инструменты как xdotool
и xsel
.
xdotool
моделирует нажатия клавиш и действия мыши. Можно таким образом записать сценарий, который отправит ключи и щелчки мышью в последовательности к приложению, которое будет взаимодействовать на них так же, как если бы Вы использовали бы клавиатуру и мышь сами.
xsel
или xclip
инструменты, разрешающие Вам получить или установить буфер обмена из командной строки.
Так же, как иллюстрация и дают самую первую идею о том, как она работает, после команды выбрал бы слово перед курсором и сократил бы его к буферу обмена.
xdotool key ctrl+shift+Left ctrl+x
Ваш сценарий мог затем получить выбор буфера обмена, чтобы сделать что-то с ним:
SELECTION=$(xsel -b)
Некоторые комментарии:
Что-то вроде 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