
遺憾的是,我不得不使用這個捆綁相機驅動程式的專有程式。我想用它執行特定的操作,其中涉及單擊幾個按鈕。並且沒有 CLI。
那麼,實現自動化的最簡單方法是什麼?我想使用 xvfb 在一個假的 X 環境中開啟程序,但是我該如何執行輸入操作呢?它可以是 (x, y) 處的單擊像素,但如果我可以引用按鈕和選單項,那就更好了。
如果有更簡單的方法請告知!我不確定 xvfb 是正確的方法。我什至不知道我想要完成的事情的實際名稱,所以搜索非常困難......
答案1
使用xdotool
它可以偽造鍵盤/滑鼠輸入、視窗管理等等。
範例使用基於install_mt4-xdot.sh
在 wine 下安裝 Windows 應用程式的腳本:
wine setup.exe &
echo "Waiting to initialize..."
while ! WID=$(xdotool search --name "Setup"); do
sleep 2
done
echo "Sending installer keystrokes..." >&2
xdotool key --window $WID --delay 500 space Tab Tab Tab Return Tab Tab Tab space Alt+n
echo "Waiting for installer to finish..." >&2
xwininfo -id $WID -tree
while pgrep -l setup; do sleep 5; done
echo "Waiting program to start..." >&2
while ! WID=$(xdotool search --name "Title - *"); do
sleep 2
done
echo "Closing application..." >&2
xdotool key --window $WID --delay 500 Escape Escape Alt+f x
sleep 1
wineserver -k
echo "Installation successful." >&2
使用xdotool
您可以控制任何應用程式或視窗。
但是,如果它的 wine 應用程式僅在 Xvfb 下運行,您也可以考慮使用winetricks
。