Nikappa_
Profilo di
Nome | Nikappa_ |
---|---|
Indirizzo email | n/a |
Messaggi | 7 |
-
- 2018-12-10 21:55:18
- Re: While button press...
- Forum >> Principianti
- Grazie mille della risposta, e mi scuso se non ho da subito detto il mio intento:
Sto creando un programma che clicca da solo, ma si deve attivare solo quando l'utente tiene premuto il click sinistro, quindi ho pensato appunto di prendere il codice che hai visto pure tu e farlo diventare un ciclo while... questo però (Come ho detto prima) non è possibile poiché il programma fa laggare il cursore fino a renderlo inutilizzabile...
from pynput.mouse import Listener def on_click(x, y, button, pressed): while pressed: print("a") #Scrive all'infinito "a" anche se non viene premuto il click e non capisco il perchè # Collect events until released with Listener(on_click=on_click) as listener: listener.join()
-
- 2018-12-09 09:51:06
- While button press...
- Forum >> Principianti
- Devo creare un ciclo while che si attiva se si tiene premuto il click sinistro
Ho provato così:
from pynput.mouse import Listener
import time
def on_click(x, y, button, pressed):
while pressed:
print("Press")
with Listener(on_click=on_click) as listener:
listener.join()
Ma il programma fa diventare inutilizzabile il mouse... qualche idea?
Grazie in anticipo
--- Ultima modifica di Nikappa_ in data 2018-12-09 09:51:28 ---
--- Ultima modifica di Nikappa_ in data 2018-12-09 09:51:53 ---
--- Ultima modifica di Nikappa_ in data 2018-12-09 09:52:31 ---
-
- 2018-04-01 18:53:19
- login sito web
- Forum >> Principianti
- ho un problema
devo estrapolare delle informazioni (compiti) da un sito (Registro elettronico), ho provato tanti modi su internet ma nessuno è andato a buon fine
from selenium import webdriver
import time
NU = NomeUtente
PW = 'Password
def login():
browser=webdriver.Firefox()
browser.get('https://family.sissiweb.it/Secret/REStart.aspx?Customer_ID=80004710556')
time.sleep(40)
#credenziali
user=browser.find_element_by_css_selector('#txtUser')
user.send_keys(NU)
password=broser.find_element_by_css_selector('#txtPassword')
password.send_keys(PW)
login=browser.find_element_by_css_selector('#btnLogin')
login.click()
login()
errori
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
stdin=PIPE)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Impossibile trovare il file specificato
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/loren/Desktop/bot/prove bot/login.py", line 19, in <module>
login()
File "C:/Users/loren/Desktop/bot/prove bot/login.py", line 8, in login
browser=webdriver.Firefox()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 152, in __init__
self.service.start()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
che mi consigliate di fare?
-
- 2018-04-01 16:28:56
- bot telegram errore (bot.message_loop(inizio, NomeUtente, Password, orario))
- Forum >> Principianti
bot.message_loop(inizio, NomeUtente, Password, orario)
mi da un sacco di errori
se lo uso per una funzione alla volta va tutto liscio, quando le unisco no...come posso risolvere?
grazie già in anticipo
errori:
Traceback (most recent call last): File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1183, in get_from_telegram_server allowed_updates=allowed_upd) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1000, in getUpdates return self._api_request('getUpdates', _rectify(p)) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 491, in _api_request return api.request((self._token, method, params, files), **kwargs) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 153, in request fn, args, kwargs = _transform(req, **user_kw) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 116, in _transform kwargs = _compose_kwargs(req, **user_kw) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 104, in _compose_kwargs kw['timeout'] = params['timeout'] + _default_timeout(req, **user_kw) TypeError: unsupported operand type(s) for +: 'function' and 'int' Exception in thread Thread-3: Traceback (most recent call last): File "C:\Program Files (x86)\Python36-32\lib\threading.py", line 916, in _bootstrap_inner self.run() File "C:\Program Files (x86)\Python36-32\lib\threading.py", line 864, in run self._target(*self._args, **self._kwargs) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1202, in get_from_telegram_server time.sleep(relax) TypeError: an integer is required (got type function)
codice:
import telepot import sys, time from pprint import pprint import datetime from time import gmtime, strftime from telepot.loop import MessageLoop #WhiteList WLO = set('1234567890:') #white list orario WLNU = set('1234567890') #whitelist nome utente def inizio(msg): content_type,chat_type , chat_id = telepot.glance(msg) messaggioS = (msg['text'])#messaggio start if messaggioS == "/start": print("è stata mandata una nuova descrizione") bot.sendMessage(chat_id, "Questo bot ti permette di ricevere i compiti del giorno dopo ad un determinato orario che tu sceglierai in seguito") bot.sendMessage(chat_id, "basterà dare le credenziali del registro elettronico al bot (le quali non verranno salvate, ma visto che il sito è protetto da password il bot prima dovrà accedere) e poi un orario") bot.sendMessage(chat_id, "Per ogni cosa scrivimi in privato (@Lorenzo Gaudino) \nManda un messaggio con scritto "'ok'"per startare il bot") if messaggio == "ok" or "OK" or "Ok" or "oK" or '"ok"' or '"OK"' or '"Ok"': print("è stato mandato un messaggio di inizio") bot.sendMessage(chat_id, "manda il tuo nome utente, non verrà visualizzato ne dalla consol e non verrà nemmeno salvato dal bot") else: bot.sendMessage(chat_id, "manda 'ok' in chat") def NomeUtente(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggioNU = (msg['text']) NU = messaggioNU messaggioNUf =''.join(filter(WLNU.__contains__, NU))# messaggioNUf = messaggio filtrato if messaggioNU == messaggioNUf: contenuto = NU fileNomeUtente = open("C:\Program Files (x86)\Python36-32\configFileNomeUtente.txt","w") fileNomeUtente.write(contenuto) fileNomeUtente.close() print("un nuovo utente è stato registrato") bot.sendMessage(chat_id, "Scrivi la tua password") else: print("Nome Utente errato") bot.sendMessage(chat_id, "il nome utente non è valido, deve essere composto da 4 cifre (es 2332)") def Password(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggiop = (msg['text'])#p password PW = messaggiop #PW password if PW == messaggiop: contenuto = PW FilePassword = open("C:\Program Files (x86)\Python36-32\configFilePassword.txt","w") FilePassword.write(contenuto) FilePassword.close() print("una nuova password è stata registrata") bot.sendMessage(chat_id, "A che ora vuoi ricevere la notifica dei compiti? usa il formato Ora:Minuti (esmpio 15:30)") def orario(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggioO = (msg['text'])#o orario O = messaggioO #O orario messaggioOf =''.join(filter(WLO.__contains__, O)) if messaggioO == messaggioOf: contenuto = O fileOrario = open("C:\Program Files (x86)\Python36-32\configFileOrario.txt","w") fileOrario.write(contenuto) fileOrario.close() print("un nuovo orario è stato stabilito") bot.sendMessage(chat_id, "tutte le impostazioni sono state impostate \nora ogni giorno alle "+O+" riceverai i compiti del giorno dopo") else: bot.sendMessage(chat_id, "formato orario sbagliato") #Nome utente, password e orario: NU = open("C:\Program Files (x86)\Python36-32\configFileNomeUtente.txt","r").read() PW = open("C:\Program Files (x86)\Python36-32\configFilePassword.txt","r").read() O = open("C:\Program Files (x86)\Python36-32\configFileOrario.txt","r").read() bot = telepot.Bot("xxxxxxxxxxxxxxxxxxxxxxx") bot.message_loop(inizio, NomeUtente, Password, orario) #questo è quello che da l'errore #inizio, NomeUtente, Password, orario while 1: time.sleep(3)
--- Ultima modifica di ㎝ in data 2018-04-01 17:51:44 ---
-
- 2018-04-01 00:53:47
- Re: usare le variabili in 'def 1' in 'def 2'
- Forum >> Principianti
- per ora ho risolto scrivendo la variabile in un file e poi riaprendolo fuori la funzione definendo la variabile globale
-
- 2018-03-31 23:41:52
- Re: usare le variabili in 'def 1' in 'def 2'
- Forum >> Principianti
- grazie mille, l'articolo mi ha aiutato a capire un po' di cose.
ma ho questo problema, ho delle variabili che devo tenere per forza in delle funzioni, ma le devo rendere globali, come faccio?
-
- 2018-03-31 14:47:48
- usare le variabili in 'def 1' in 'def 2'
- Forum >> Principianti
- Scusate per l'ignoranza ma:
in questa stringa di codice (bot di telegram)
def NomeUtente(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
messaggio = (msg['text'])
NU = messaggio
quando uso la variabile 'NU' fuori da 'def NomeUtente' mi dice che non è definito
come posso risolvere? Perchè per ora mi è solo venuto in mente di salvare la variabile in un file ecc.. ma sono sicuro che ci sia un modo più semplice no?
--- Ultima modifica di Nikappa_ in data 2018-03-31 14:48:34 ---