Kotisivu » Coding » Miten rakentaa yksinkertainen Auto-Login Bot Pythonilla ja Seleenillä

    Miten rakentaa yksinkertainen Auto-Login Bot Pythonilla ja Seleenillä

    automaatio on epäilemättä yksi kaikkein himoituneimmista taidoista, joita ohjelmoija voi hallita. Automaatiota käytetään tyypillisesti tehtäviin toistuva, tylsä, aikaa vievä, tai muuten tehoton ilman skriptiä.

    Kanssa web-automaatio, voit helposti luo botti suorittaa erilaisia ​​tehtäviä Internetissä esimerkiksi seurata kilpailevia hotellihintoja Internetissä ja määrittää paras hinta.

    Itse olen aina löytänyt kirjautua sähköpostiisi melko toistuva ja tylsä, joten yksinkertaisen esimerkin vuoksi saat teitä alkoi web-automaatiolla, toteutetaan automaattinen Python-skripti että kirjaudu sisään yhdellä napsautuksella Gmail-tilille.

    Asennus ja asennus

    Tässä opetusohjelmassa aiomme käyttää seuraavat työkalut:

    1. Pythonin ohjelmointikieli
    2. Google Chrome -selain
    3. Selenium-selainautomaation työkalupakki
    4. Chrome-ohjaimen web-ohjain

    Ohjelmamme osalta käytämme erityisesti Python-ohjelmointikieliä versio 2.7.11. On tärkeää, että asennamme a melko uusi versio Python 2: sta koska se tulee PIP, jonka avulla voimme asentaa kolmansien osapuolten paketteja ja kehyksiä, joita meidän on automatisoitava skripteihimme.

    Kun se on asennettu, Käynnistä tietokoneesi uudelleen muutokset tulevat voimaan. Käytä komentoa pip asentaa seleeniä lisätä Seleenin web-automaation työkalupakki Pythonille. Seleeni antaa meille mahdollisuuden ohjelmallisesti vierittää, kopioida tekstiä, täyttää lomakkeita ja napsauttaa painikkeita.

    Lopuksi lataa Selenium Chrome -ohjaimen suoritettava, joka tulee avaa Google Chrome tarpeen mukaan automatisoitujen tehtävien suorittamiseksi. Chrome-ohjain on yksinkertaisesti tapa avata Google Chrome (joka pitäisi olla jo asennettuna) käyttää tavallisia selaintoimintoja ohjelmallisesti.

    Lataa viimeisin ZIP-tiedosto täältä, poista se chromedriver.exe suoritettava ja sijoita suoritettava tiedosto mihin tahansa hakemistoon. Muista muistuttaa, missä suoritettava on, koska tarvitsemme sitä heti, kun alamme.

    Ohjelman käynnistäminen

    Kuten edellä mainittiin, käytämme Seleenin web-automaatiokehys jotta kirjaudu sisään ohjelmallisesti. Ensimmäinen järjestys on tuo jokainen moduuli tarvitsemme Selenium Pythonin kirjastosta, jonka asensimme PIP: llä.

    Avataan IDLE tai toinen koodieditori, luo uusi Python-tiedosto kanssa .py laajennus, ja tuoda seuraavat moduulit:

     seleenin tuonti webdriveristä selenium.webdriver.common.by: ltä tuonnin kautta Selenium.webdriver.support.ui -tuotteesta tuonti WebDriverWait from selenium.webdriver.support import expected_conditions EC 

    Seuraavaksi me luo kaksi merkkijonoa jotka edustavat meidän Käyttäjänimi ja salasana sähköpostitilille. Kiinnitä huomiota pääomankorotuksiin, etenkin salasanaluetteloon.

     usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

    Nyt kun meillä on kaikki perustettu sisäänkirjautumisprosessin aloittamiseksi, meidän on todella annettava selaimen ikkuna opetukseen avaa Google Chrome, ja siirry Gmailin kirjautumissivulle.

    Jos et ole tehnyt niin, varmista, että Python-skripti on tallennettu samaan paikkaan kuin chromedriver.exe suoritettavan me uutimme aikaisemmin.

     browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin?' palvelu = mail & Continue = https: //mail.google ".com / mail / # tunniste")) 
    Elementtimme löytäminen

    Olemme onnistuneet saamaan selaimen avaamaan Gmailin, mutta nyt meidän täytyy etsi syöttökentät verkkosivulla, johon voimme anna käyttäjätunnus ja salasana.

    Voimme tehdä tämän helposti käyttämällä sisäänrakennettua Chrome-kehitystyökalua. Meidän täytyy vain napsauttaa syöttökenttää vain hiiren kakkospainikkeella ja valita “Tarkastaa” valikko.

    Nyt on vain kysymys HTML: n avulla id määritteet löytää elementit ohjelmallisesti.

    Alla olevassa koodissa olemme yksinkertaisesti etsimällä käyttäjätunnuksen syöttökenttä id, ja täyttää se haluamasi tekstin kanssa. Sitten olemme Etsi Seuraava-painiketta joka siirtyy nopealla animaatiolla ennen kuin pyydät meitä salasanaa.

    send_keys () ja klikkaus() komennot tekevät juuri niin kuin heidän nimensä viittaavat - send_keys () simuloi näppäinten painalluksia haluttuun elementtiin ja klikkaus() simuloi hiiren napsautusta.

     # täytä käyttäjätunnus ja paina seuraavaa painiketta käyttäjätunnus = browser.find_element_by_id ('Sähköposti') käyttäjätunnus.send_keys (usernameStr) nextButton = selain.find_element_by_id ('seuraava') nextButton.click () 

    Me voimme tee sama asia salasanan syöttökenttään sekä kirjautumispainikkeeseen. Nämä kaksi kohtaa näkyvät kuitenkin sivulla vain jälkeen animoitu siirtymä.

    Tarvitsemme kuitenkin ohjelman odota muutama sekunti ennen kuin se jatkaa elementtien etsintää. Useimmiten tämä koodivaihe ei eroa edellisestä. Meidän on yksinkertaisesti opastettava selain odota enintään 10 sekuntia ennen salasanan syöttämistä.

     # odota siirtymistä ja jatka sitten kohteiden salasanaa = WebDriverWait (selain, 10) .ylil (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = selain.find_element_by_id ('signIn' ) signInButton.click () 
    Lopulliset sanat

    Olet juuri päättynyt botin luominen joka vierailee verkkosivulla, syöttää käyttäjätunnuksesi ja salasanasi ja kirjautuu sisään onnistuneesti, koko prosessin automatisointi yhdellä napsautuksella. Tiedän, että tämä oli yksinkertainen esittely, mutta mahdollisuudet ovat rajattomat.

    Samassa muistiossa, ole varovainen miten käytät tätä taitoa. Jotkut käyttävät robotteja ja automatisoituja komentosarjoja, jotta he voivat syöttää arvopapereita tuhansia kertoja. Toiset käyttävät niitä enemmän haitallisiin tarkoituksiin.

    Käytä vain automatisointia tarkoituksenmukaisesti ja huolellisesti, koska se on todella erittäin tarpeellinen taito ohjelmointiyhteisössä!

    Toimittajan huomautus: Tämä on kirjoitus, joka on kirjoitettu Hongkiat.comille Malik Brahimi. Malik on Greater Bostonin alueella sijaitseva kehittäjä, joka rakastaa ruokaa, jalkapalloa ja ohjelmointia (suosikkikieli Python).

    • Lataa lähde