Skip to main content

package handling click on image and waiting with pyautogui

Project description

Package Image Manager

Il package gestisce gli screenshot\foto indicati manualmente con un path specifico. Prendendoli, in input, puo utilizzare tre funzioni che servono rispettivamente a: la prima, ad aspettare un caricamento, cioe' finche non riesce a fare la comparazione tra la foto\screenshot passato e lo schermo nel trovare l'elemento. La seconda a cliccare un elemento che trova con varie opzioni che si possono passare. La terza ed ultima e' una switch. Cioe' serve ad indicare due foto che, se una fallisce, prova con un altra per trovarla e cliccarla.

Prerequisiti

  • OS: Windows 11
  • Python >= 3.6

Installazione

  1. Selezione dell'ambiente virtuale (opzionale)

    ...\python-env\Scripts\activate

  2. Installazione pacchetto

pip install \\10.1.0.42\divisioni\20_RS\40_RPA\CustomPythonPackages\ImageManager\ImageManager-0.0.1_ggargiulo-py3-none-any.whl

  1. Check installazione 1. Aprire il terminale 2. Avviare python nell'ambiente virtuale 3. Eseguire import ImageManager 4. In caso di errori, sarà ritornata l'eccezione ModuleNotFoundError

Import ed uso

import ImageManager

exemple_var = ImageManager.ImageManager()

exmple_var.clickCustom(nome_foto)

Funzione ClickCustom

La sua funzione principale. Praticamente serve a cliccare l'elemento di cui bisogna indicare il nome_foto della foto dell'elemento da trovare. e, il package, in automatico lo andra' a cercare.

clickCustom(nome_foto) #Default: dove nome_foto e' letteralmente il nome con estensione della foto.

clickCustom(nome_foto,x=4,y=4) #cliccare con coordinate: passando la sua x e/o y e' possibile far cliccare un elemento alle coordinate esatte indicate che, chiaramente, partono dalla sua foto. E possono essere passate sia singolarmente che insieme e sia negativamente che positivamente. La misura e' espressa in pixel

clickCustom(nome_foto,clicks_number) #Passando al poter indicare al numero di click ,e' possibile, quantificare quanti click deve fare la funzione. Quindi sia doppio che piu'

clickCustom(nome_foto,click_right=True) #Passando al click_right, True, e' possibile dire al package di cliccare col tasto destro sul elemento.

NB: nome_foto e' OBBLIGATORIO altrimenti , il package, non saprebbe dove cliccare.

Funzione waitLoading

La funzione si occupa di aspettare un elemento indicato nella foto passata. E' possibile utilizzarlo sia per aspettare in modo indefinito finche quel elemento non appare (da usare con attenzione se non si vuole rimanere in un loop infinito). Altrimenti indicando un timeout ben chiaro ("e' possibile anche non indicarlo. In quel caso, la funzione, aspettera' 240 secondi di default)

waitLoading(nome_foto) #Default: aspettera' 240 secondi finche non apparira' l'elemento nella foto indicata provandoci per 5 volte sempre per quei secondi. Nel caso non apparisse cioe' non trovasse l'elemento ,il programma, avanzerebbe andando semplicemente avanti senza rimanere fermo dopo l'attesa.

waitLoading(nome_foto,timeout=4) #aggiugendo manualmente il timeout, e' possibile dire alla funzione di aspettare , come sopra indicato per 5 volte massimo come tentativo, per i secondi indicati. Nell'esempio descritto, per esempio, gli ho detto di aspettare 4 secondi.

waitLoading(nome_foto,loading=True) #questo parametro comunica alla funzione di aspettare finche l'elemento non appare nella foto passata in maniera indefinita.
Per cui fare attenzione poiche, appunto, si entrerebbe in un loop infinito.
Sarebbe da utilizzare se, effettivamente, sarebbe importante che il programma attenda indefinitivamente quel elemento.

NB: nome_foto e' un parametro obbligatorio da passare alla funzione.

Extra

Se si assegna waitLoading ad una variabile, essa, ritornera' una variabile con delle coordinate oppure un valore NULL. Per cui e' utilizzabile casomai si voglia verificare o serva sapere se quel elemento esista o meno dopo l'attesa desiderata.

var_exemple = waitLoading(nome_foto)

switchLoading

La funzione indicata permette di , indicando i due path necessari e quindi obbligatori, testare uno dei due click tramite due foto differente. Si potrebbe utilizzare quando non si ha certezza che l'elemento si trovi a schermo e tenda a cambiare per cui sarebbe utile un click differente. Per quanto essa sia base. Cioe' e' solo click sinistro senza coordinate.

switchLoading(nome_foto_estensione_principale,nome_foto_estensione_secondario) #come fa' capire i parametri da passare sono entrambi necessari ed una indica una foto principale da passare e l'altra quella da utilizzare casomai la prima fallisca.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ImageManager_EagleProjects-0.0.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file ImageManager_EagleProjects-0.0.1.tar.gz.

File metadata

File hashes

Hashes for ImageManager_EagleProjects-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f121445cefa883bfc1b578bf23058dad6dbbe7ef39105c53e58e09b639ae5cea
MD5 0f80acb67b0335c2c6e91d42c31e11f0
BLAKE2b-256 e354f0964adb5188ec6fc638b3b2778d3f181d8576b4f548bb9f4cd55682aaeb

See more details on using hashes here.

File details

Details for the file ImageManager_EagleProjects-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ImageManager_EagleProjects-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6fed6591c1d69778358997b459a9c0f8f4563223cae79cbdd6957b3eedc401a0
MD5 120b981d9058c4dad3cf2b8e93c332a7
BLAKE2b-256 a80bd0116ce06fbf8b86644375c7a47256c05e92fa8d06ee643863e4a979bd5f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page