06/08/2017, 01:49
(Modification du message : 07/08/2017, 21:28 par Fawn-Drake.
Raison de la modification: Mode d'emploi
)
Re bonsoir,
comme je le disais dans ma présentation je code tout et n'importe quoi pour tuer le temps en ce moment, je vous ai donc fait un petit soft d'autovote, il va voter toutes les 2h00...Pour le moment il lance votre navigateur.
Je verrai si je peux le passer en silent plus tard(V1.1)....
Je n'ai pas mis d'icône à l'appli, la flemme....Je vous mets le code source pour ceux que ça intéresse(python 2.7.13)
Il se fait un poil tard là je vais dormir :zzz:
Edit : Voilà c'est recodé, recompilé !
100%_Naruto_AutoVote_V1.0
SOURCECODE_100%_Naruto_AutoVote_V1.0
MODE D'EMPLOI :
1) Téléchargez l'archive
2) Décompressez l'archive où vous voulez
3) Lancez l'installeur
4) Lancez le logiciel
5) Cliquez sur le bouton "Start Auto Vote"
6) Laissez le faire son job :p (Les fenêtres se fermeront toutes seules lorsqu'il aura voté)
PS : N'oubliez pas de lancer le soft "en tant qu'administrateur" sinon il génèrera une erreur ! Vous pouvez le faire définitivement en faisant click droit sur le raccourci du bureau>Propriétés>Compatibilité>Cocher la case "éxécuter ce programme en tant qu'administrateur"
comme je le disais dans ma présentation je code tout et n'importe quoi pour tuer le temps en ce moment, je vous ai donc fait un petit soft d'autovote, il va voter toutes les 2h00...Pour le moment il lance votre navigateur.
Je verrai si je peux le passer en silent plus tard(V1.1)....
Je n'ai pas mis d'icône à l'appli, la flemme....Je vous mets le code source pour ceux que ça intéresse(python 2.7.13)
Il se fait un poil tard là je vais dormir :zzz:
Edit : Voilà c'est recodé, recompilé !
100%_Naruto_AutoVote_V1.0
SOURCECODE_100%_Naruto_AutoVote_V1.0
MODE D'EMPLOI :
1) Téléchargez l'archive
2) Décompressez l'archive où vous voulez
3) Lancez l'installeur
4) Lancez le logiciel
5) Cliquez sur le bouton "Start Auto Vote"
6) Laissez le faire son job :p (Les fenêtres se fermeront toutes seules lorsqu'il aura voté)
PS : N'oubliez pas de lancer le soft "en tant qu'administrateur" sinon il génèrera une erreur ! Vous pouvez le faire définitivement en faisant click droit sur le raccourci du bureau>Propriétés>Compatibilité>Cocher la case "éxécuter ce programme en tant qu'administrateur"
Code :
# -*- coding: cp1252 -*-
from time import gmtime, strftime
import time
from selenium.webdriver.common.by import By
from selenium import webdriver
from os import getcwd
from datetime import datetime
import wx #importe le module graphique wx
import os
#trigger
count=0
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, None, id, u"100% Naruto AutoVote par François GARBEZ", wx.DefaultPosition, wx.Size(500, 200),style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX|wx.STAY_ON_TOP)
#Panel pour affichage
self.panel = wx.Panel(self, -1)
#Deco
ImgDir = (getcwd()+"\\Fond.jpg")
fond = wx.Image(ImgDir, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
fond1 = wx.StaticBitmap(self.panel, -1, fond)
#Crée la barre d'état (en bas).
self.CreerBarreEtat()
#Boutons
self.buttonStartCronVote = wx.Button(fond1,-1,u"Start AutoVote")
self.Bind(wx.EVT_BUTTON, self.StartCronVote, self.buttonStartCronVote)
self.buttonStopCronVote = wx.Button(fond1,-1,u"Stop AutoVote")
self.Bind(wx.EVT_BUTTON, self.StopCronVote, self.buttonStopCronVote)
#widget vide
self.txtVideCronVote = wx.StaticText(fond1,-1,"")
#Sizer
gbox1 = wx.GridBagSizer(10,10)
gbox1.SetEmptyCellSize((10,10))
gbox1.Add(self.buttonStartCronVote,(0,0))
gbox1.Add(self.buttonStopCronVote,(1,0))
gbox1.Add(self.txtVideCronVote,(2,0))
#Auto Vote
box1 = wx.StaticBox(self.panel, -1, u"Auto-Vote :")
bsizer1 = wx.StaticBoxSizer(box1, wx.HORIZONTAL)
sizerH1 = wx.BoxSizer(wx.VERTICAL)
sizerH1.Add(gbox1, 0, wx.ALL|wx.CENTER, 10)
bsizer1.Add(sizerH1, 1, wx.EXPAND, 0)
#--------Ajustement du sizer----------
mainSizer = wx.BoxSizer(wx.VERTICAL)
mainSizer.Add(bsizer1, 0,wx.ALL|wx.EXPAND, 10)
self.SetSizer(mainSizer)
#On desactive le bouton STOP pour 1er tour
self.buttonStopCronVote.Disable()
#GeckoVersion
self.getGecko()
#Fonctions
def StopCronVote(self,evt):
global count
self.timerVote.Stop()
self.buttonStartCronVote.Enable()
self.buttonStopCronVote.Disable()
self.txtVideCronVote.SetLabel(u"0H 0Min 0sec"+u" Nb="+str(count))
self.txtVideCronVote.Refresh()
evt.Skip()
def StartCronVote(self,evt):
global Tzero
self.VoteEnter()
self.timerVote=wx.Timer(self, -1)
self.timerVote.Start(500)
Tzero=time.time()
self.Bind(wx.EVT_TIMER, self.ChronoVote, self.timerVote)
self.buttonStartCronVote.Disable()
self.buttonStopCronVote.Enable()
evt.Skip()
def ChronoVote(self,evt):
global Tzero,count
tempsP=time.time()
diffTemps = tempsP-Tzero
diffTup = time.gmtime(diffTemps)
tempsF="%iH %iMin %isec" % ( diffTup.tm_hour, diffTup.tm_min, diffTup.tm_sec)
self.txtVideCronVote.SetLabel(tempsF+u" Nb="+str(count))
self.txtVideCronVote.Refresh()
if tempsF==u"2H 0Min 0sec":
self.timerVote.Stop()
self.StartCronVote(evt)
evt.Skip()
def getGecko(self):
global geckopath
if 'PROGRAMFILES(X86)' in os.environ:
geckopath=getcwd()+r"\geckodriver\win64\geckodriver.exe"
else:
geckopath=getcwd()+r"\geckodriver\win32\geckodriver.exe"
def VoteEnter(self):
global geckopath,count,erreur
erreur=0
try:
driver = webdriver.Firefox(executable_path=geckopath)
driver.get("http://www.root-top.com/topsite/songotan/in.php?ID=216")#adresse de la page page
driver.refresh()#On bypass la sécurité de ROOT TOP
try:
elem=driver.find_element_by_xpath("//input[@src='http://img.root-top.com/entrer_voter_fr.png']")#On cherche l'image à clicker
elem.click()# On clique
driver.quit()
count+=1
except:
self.erreurVote()
driver.quit()
except:
erreurConnexion()
driver.quit()
def erreurConnexion(self):
dlg = wx.MessageDialog(self,u"Erreur 404-Page Innaccessible...\nVérifiez votre connexion internet !","Erreur 404",\
style=wx.ICON_ERROR|wx.STAY_ON_TOP|wx.CENTER|wx.OK) #Definit les attributs de la fenetre de message.
dlg.ShowModal()
def erreurVote(self):
dlg = wx.MessageDialog(self,u"Vous avez déjà voté !!!\nRéessayez plus tard !","Erreur de vote !",\
style=wx.ICON_ERROR|wx.STAY_ON_TOP|wx.CENTER|wx.OK) #Definit les attributs de la fenetre de message.
dlg.ShowModal()
def Chrono(self):#Chronometre (date et heure)
stemps = time.strftime("%A %d/%m/%Y") #Definit le format voulu
self.SetStatusText(stemps,1) #Affiche a chaque seconde.
def CreerBarreEtat(self):#Creation de la barre d'etat du bas avec l'affichage de l'heure et date
self.CreateStatusBar(2) #Cree une barre de statut (en bas) de deux parties.
self.SetStatusWidths([-1,150]) #Definit la taille.
self.Chrono()#Affiche.
def on_close(evt):#Pour kill le timer
wx.EVT_CLOSE(frame, on_close)
self.timerVote.Stop()
frame.Destroy()
evt.Skip()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None, -1, None)
frame.Show(True)
frame.Centre()
return True
if __name__=='__main__':
app = MyApp(0)
app.MainLoop()
Signature en cours d'édition..... :merci.gif: