Uso dogtail (https://fedorahosted.org/dogtail/) per fare queste cose, usando questo ho creato un framework di test automatizzato per la mia app Linux (Ubuntu). Quel framework fa clic sui pulsanti e digita nei campi di testo.
guarda l'esempio di gedit, https://fedorahosted.org/dogtail/browser/examples/gedit-test-utf8-procedural-api.py
Quindi usa solo dogtail, ad esempio
dogtail.rawinput.click(100, 100)
Ti posso consigliare PyAutoGUI, permette di avere il pieno controllo di Mouse e Tastiera e di ottenere Screenshot e anche tu puoi localizzare le immagini all'interno dello schermo (tipo:dov'è il pulsante?), molto utile per automatizzare i click in modo dinamico. Funziona con Windows, macOS e Linux.
Ad esempio:
>>> import pyautogui
>>> screenWidth, screenHeight = pyautogui.size()
>>> pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
Dai un'occhiata alla pagina di introduzione.