k33theod Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 (επεξεργασμένο) όλες οι κινήσεις του mouse πληκτρολόγηση κλπ γίνονται από script και εδώ είναι ο κώδικας # Για να εκτελεστεί αυτός ο κώδικάς # ανοίγουμε το mspaint και το κάνουμε maximize # ανοίγουμε τον python indle ή την win consola ώς admnin # και τρέχουμε το script. Έχουμε 10 sec να κάνουμε focus στο mspaint # αφήνουμε mouse και πληκτρολόγιο μέχρι να τελειώσει # Έτσι βρίσκεται τις ακριβείς θέσεις των εικονιδίων που γίνεται κλικ , που # γράφω ή σχεδιάζω # Πάω το δείκτη του ποντικιού στη θέση που θέλω στο mspaint και στον indle πληκτρολογώ # pyautogui.position() πχ >>> import pyautogui as pag >>> home=pag.position() # >>> home και επιστρέφει (78, 41) # Εισάγω βιβλιοθήκες import pyautogui as pag import time, math pag.FAILSAFE=True #Αν μετακινήσω το mouse στην επάνω αριστερή γωνία το πρόγραμμα κρασάρει pag.PAUSE=0.1 #όλες οι κινήσεις pag εκτελούνται με καθυστέρηση 0.1 δευτερόλεπτα time.sleep(10)# Έχουμε 10 δεύτερα να ανοίξουμε κάνουμε focus το mspaint και να #μετακινήσουμε πάνω του το mouse pag.moveTo(290,75,1) # μετακινώ το ποντίκι από τη θέση του στις συν/νες του κουμπιού text pag.click() #κάνω κλικ pag.moveTo(47, 214,1) # μετακινώ το ποντίκι εκεί που θα γράψω κείμενο pag.click() pag.click() pag.typewrite('f(x)=sin(x)',0.2) # γράφω κείμενο pag.moveTo(78,41,1) #μετακινώ το ποντίκι στο home pag.click() #klik pag.moveTo(239,79,1) #μετακινώ το ποντίκι στο pencil pag.click() #klik import numpy as np pag.moveTo(30,350+40*np.sin(30/40),1) # μετακινώ το ποντίκι εκεί θα σχεδιάσω for x in np.linspace(30,400,150): # σχεδιάζω pag.dragTo(x,350+40*np.sin(x/40),0.05) pag.moveTo(290,75,1) # μετακινώ το ποντίκι από τη θέση του στις συν/νες του text pag.click() #klik pag.moveTo(700,300,1) # μετακινώ το ποντίκι εκεί που θα γράψω κείμενο pag.click() #klik pag.typewrite('spiral',0.2)# γράφω κείμενο pag.moveTo(78,41,1) #μετακινώ το ποντίκι στο home pag.click() #klik pag.moveTo(239,79,1) #μετακινώ το ποντίκι στο pencil pag.click() #klik pag.moveTo(660,350,1)# μετακινώ το ποντίκι εκεί θα σχεδιάσω pag.click() distance = 100 while distance > 0: #Σχεδιάζω το spiral pag.dragRel(distance, 0) # move right distance = distance - 5 pag.dragRel(0, distance) # move down pag.dragRel(-distance, 0) # move left distance = distance - 5 pag.dragRel(0, -distance) # move up pag.moveTo(290,75,1) # μετακινώ το ποντίκι από τη θέση του στις συν/νες του text pag.click() #klik pag.moveTo(360,173,1) # μετακινώ το ποντίκι εκεί που θα γράψω κείμενο pag.click() #klik # γράφω κείμενο pag.typewrite('Hello INSOMNIA\b\b\b\b\b\b\bnsomnia!!!\npyautogui PYTHON',0.2) print('Δώσε enter') input() ScreenCapture_4-4-2016 8.55.48 PM.wmv Επεξ/σία 4 Απριλίου 2016 από k33theod 1
Grim Ripper Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 Το GUI που είναι; Υπέθεσα θα έφτιαχνες gui σε κάποια εφαρμογή κάπως εύκολα. :/
k33theod Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 Το GUI που είναι; Υπέθεσα θα έφτιαχνες gui σε κάποια εφαρμογή κάπως εύκολα. :/ Gui εννοείς παράθυρα windows?
Grim Ripper Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Εννοώ αυτό που σημαίνει, Graphical User Interface. Είτε είναι σε windows η εφαρμογή, είτε σε linux, είτε σε mac os x. 2
pmav99 Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 @Grim Ripper Αν αυτό που σε ενδιαφέρει είναι απλά να πάρεις κάποιο input από το χρήστη (matlab φάση) και δε σε νοιάζει να χρησιμοποιήσεις 3rd party libraries (δηλαδή pyqt) μπορείς να χρησιμοποιήσεις κάτι σαν το https://pypi.python.org/pypi/formlayout ή αν θες κάτι με πιο πολλές δυνατότητες (και declarative style) https://pypi.python.org/pypi/guidata It shouldn't be hard to re-implement formLayout using Tkinter as backend
stavrosyomafias Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Ενδιαφέρον, δεν ήξερα ότι μπορείς να αυτοματοποιήσεις διεργασίες "κίνησης ποντικιού και πληκτρολόγηση" υπάρχει και σε άλλες γλώσσες, ή αποκλειστικά στην Python, και επίσης αυτή η διαδικασία ονομάζεται "AutoGUI"? Ρωτάω, μιας και άνοιξες ήδη θέμα για αυτό.
Grim Ripper Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 @Grim Ripper Αν αυτό που σε ενδιαφέρει είναι απλά να πάρεις κάποιο input από το χρήστη (matlab φάση) και δε σε νοιάζει να χρησιμοποιήσεις 3rd party libraries (δηλαδή pyqt) μπορείς να χρησιμοποιήσεις κάτι σαν το https://pypi.python.org/pypi/formlayout ή αν θες κάτι με πιο πολλές δυνατότητες (και declarative style) https://pypi.python.org/pypi/guidata It shouldn't be hard to re-implement formLayout using Tkinter as backend Βασικά δεν μπορώ να γράψω κάτι πέραν από τα προγράμματα που έχουν τα tutorials και δεν ξέρω κατά πόσο θα ξαναπιάσω την python οπότε για την ώρα δεν θέλω κάτι από gui. Ωραίο βιβλίο αυτό, το έχω βρει και σε pdf. https://automatetheboringstuff.com/chapter18/
k33theod Δημοσ. 5 Απριλίου 2016 Μέλος Δημοσ. 5 Απριλίου 2016 Βασικά δεν μπορώ να γράψω κάτι πέραν από τα προγράμματα που έχουν τα tutorials και δεν ξέρω κατά πόσο θα ξαναπιάσω την python οπότε για την ώρα δεν θέλω κάτι από gui. Ωραίο βιβλίο αυτό, το έχω βρει και σε pdf. https://automatetheboringstuff.com/chapter18/ Αυτό έχω κι'εγωΕνδιαφέρον, δεν ήξερα ότι μπορείς να αυτοματοποιήσεις διεργασίες "κίνησης ποντικιού και πληκτρολόγηση" υπάρχει και σε άλλες γλώσσες, ή αποκλειστικά στην Python, και επίσης αυτή η διαδικασία ονομάζεται "AutoGUI"? Ρωτάω, μιας και άνοιξες ήδη θέμα για αυτό. Η Βιβλιοθήκη λέγεται pyautogui 1
pmav99 Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 @stavrosyomafias Φυσικά και υπάρχουν σε διάφορες γλώσσες/λειτουργικά. Googl-άρε για GUI automation και θα βρεις διάφορα. Πχ https://github.com/jordansissel/xdotool (linux only) 1
stavrosyomafias Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Η Βιβλιοθήκη λέγεται pyautogui Φυσικά και υπάρχουν σε διάφορες γλώσσες/λειτουργικά. Googl-άρε για GUI automation και θα βρεις διάφορα. Πχhttps://github.com/jordansissel/xdotool (linux only) Ok, θα το ψάξω, ευχαριστώ παιδιά.
stavrosyomafias Δημοσ. 14 Μαΐου 2016 Δημοσ. 14 Μαΐου 2016 Πριν λίγο καιρό είχα ρωτήσει αν υπάρχει και σε άλλες γλώσσες, αλλά με το λίγο που το έψαξα διάβασα η καλύτερη επιλογή για αυτό είναι η Python, καθώς "επικοινωνεί" καλύτερα με το λειτουργικό σύστημα συγκριτικά με άλλες γλώσσες. Αρχικά θα ήθελα να ρωτήσω αν ισχύει αυτό, και επειδή πραγματικά θέλω να ασχοληθώ με αυτοματισμό, θα ήθελα να ρωτήσω αν προτείνεται να μάθω πρώτα Python, ή να πάω απευθείας στο βιβλίο: "Automate the Boring Stuff with Python" και θα με καλύψει αυτό?
Grim Ripper Δημοσ. 14 Μαΐου 2016 Δημοσ. 14 Μαΐου 2016 Πρώτα θα μάθεις python (έστω τα βασικά) ώστε να ξέρεις λίγο τι παίζει με αυτά που γράφεις και μετά θα διαβάσεις το βιβλίο. Ξεκίνα με "A Byte of Python" και "Python Succinctly".
pmav99 Δημοσ. 14 Μαΐου 2016 Δημοσ. 14 Μαΐου 2016 (επεξεργασμένο) διάβασα η καλύτερη επιλογή για αυτό είναι η Python, καθώς "επικοινωνεί" καλύτερα με το λειτουργικό σύστημα συγκριτικά με άλλες γλώσσες. Δεν ξέρω αν η python είναι η καλύτερη επιλογή για αυτό που θες να κάνεις, αλλά αν ισχύει, σίγουρα δεν είναι εξαιτίας του λόγου που έγραψες... Επεξ/σία 14 Μαΐου 2016 από pmav99
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα