Hogyan építsünk egy egyszerű Auto-Login Botot Python és Selenium segítségével
Automatizálás kétségtelenül az egyik leghíresebb készség, amit a programozó birtokolhat. Az automatizálást általában olyan feladatokhoz használják, amelyek ismétlődő, unalmas, időigényes, vagy más módon nem hatékony szkript használata nélkül.
Val vel webes automatizálás, könnyen hozzon létre egy botot különböző feladatok elvégzéséhez az interneten, például az interneten keresztül versenyképes szállodaárak figyelemmel kísérése és a legjobb ár meghatározása.
Én személy szerint mindig megtaláltam bejelentkezve az e-mailbe meglehetősen ismétlődő és unalmas, így egy egyszerű példa kedvéért a srácok webautomatizálással kezdődött, hajtsuk végre egy automatizált Python szkript nak nek jelentkezzen be egyetlen kattintással egy Gmail-fiókba.
Telepítés és beállítás
Ebben a bemutatóban a következő eszközöket:
- Python programozási nyelv
- Google Chrome böngésző
- Szelén böngésző automatizálási eszközkészlet
- Chrome-illesztőprogram-illesztőprogram a Chrome számára
Programunkhoz kifejezetten a Python programozási nyelvet fogjuk használni 2.7.11 verzió. Fontos, hogy telepítsük a meglehetősen új változata a Python 2-nek mert jön CSIPOG, amely lehetővé teszi számunkra, hogy telepítsük a harmadik féltől származó csomagokat és kereteket, amelyekre a szkriptjeink automatizálására lesz szükségünk.
Telepítés után, indítsa újra a számítógépet hogy a módosítások hatályba lépjenek. Használja a parancsot pip telepítse a szelént
hozzáadni Szelén webes automatizálási eszközkészlet Pythonhoz. A szelén lehetővé teszi számunkra, hogy programszerűen görgethessünk, másolhassunk szöveget, töltsünk ki űrlapokat és kattintsunk a gombokra.
Végül töltse le a A Selenium Chrome Driver futtatható, Melyik lesz nyissa meg a Google Chrome-ot szükség szerint automatizált feladataink végrehajtásához. A Chrome meghajtó egyszerűen egy módja annak, hogy megnyissa a Google Chrome-ot (amely már telepítve van) hozzáférjen a szabványos böngésző műveletekhez programszerűen.
Egyszerűen töltse le a legfrissebb ZIP fájlt innen, vegye ki a chromedriver.exe
végrehajtható, és helyezze el a végrehajtható fájlt bármelyik könyvtárba. Ügyeljen arra, hogy vegye figyelembe, hogy hol van a futtatható, mert szükségünk lesz rá, ha elkezdjük.
A program indítása
Mint fentebb említettük, a Szelén webes automatizálási kerete azért, hogy jelentkezzen be programosan. Az első sorrend az minden modul importálása szükségünk lesz a Selenium Python könyvtárra, amelyet a PIP-rel telepítettünk.
Nyissuk meg az IDLE vagy egy másik kódszerkesztőt, hozzon létre egy új Python fájlt val vel .py
kiterjesztés, és importálja a következő modulokat:
a szelén import webdriver-jéből a szeléniumból. webdriver.common.by import A szeléniumból. webdriver.support.ui importálva WebDriverWait a szeléniumból. webdriver.support import várt_feltételek mint EC
Ezután mi lesz két karakterlánc létrehozása ami a miénk Felhasználónév és jelszó az e-mail fiókhoz. Figyeljen a nagybetűkre, különösen a jelszavas húrra.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Most, hogy mindent beállítottunk a bejelentkezési folyamat elindításához, ténylegesen utasítanunk kell egy böngészőablakot nyissa meg a Google Chrome-ot, és navigáljon a Gmail bejelentkezési oldalára.
Ha még nem tette meg, győződjön meg róla, hogy a Python parancsfájlja megtörtént ugyanazon a helyen, mint a chromedriver.exe
végrehajtható korábban kinyertük.
browser = webdriver.Chrome () browser.get ((https://accounts.google.com/ServiceLogin?) szolgáltatás = mail & folytatás = https: //mail.google ".com / mail / # azonosító"))
Elemünk megtalálása
Sikeresen sikerült megnyitnunk a böngészőt a Gmail megnyitásához, de most meg kell keresse meg a beviteli mezőket a weboldalon, amelybe tudunk adja meg felhasználónevét és jelszavát.
Ezt könnyen elvégezhetjük a beépített Chrome Developer Tools segítségével. Csak jobb egérgombbal kell kattintani a beviteli mezőkre, és válassza ki a “ellenőriz” menü.
Most már csak egy kérdés HTML használatával id
attribútumok megtalálni az elemeket programosan.
Az alábbi kódban egyszerűen vagyunk a felhasználónév beviteli mezőjének keresése id
, és kitölti a kívánt szöveggel. Akkor mi vagyunk Keresse meg a Következő gombot amely gyors animációval vált át, mielőtt a jelszót kéri.
A send_keys ()
és kattintson a ()
A parancsok pontosan úgy járnak el, mint a nevük - send_keys ()
szimulálja a gombnyomásokat a kívánt elemben, és kattintson a ()
szimulálja az egérkattintást.
# töltse ki a felhasználónevet és nyomja meg a következő gombot felhasználónév = browser.find_element_by_id ('Email') felhasználónév.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Tudunk ugyanezt tegyük a jelszó beviteli mezőre, valamint a Bejelentkezés gombra. Ezek a két elem azonban megjelenik az oldalon csak után animált átmenet.
Ez azt jelenti, hogy szükségünk van a programra várjon néhány másodpercet az elemek keresésének folytatása előtt. A legtöbb esetben ez a szakasz nem különbözik az előzőtől. Egyszerűen utasítanunk kell a böngészőt várjon legfeljebb 10 másodpercet a jelszó megadása előtt.
# várja az átmenetet, majd továbbra is töltse ki a jelszavakat jelszó = WebDriverWait (böngésző, 10). ) signInButton.click ()
Végső szavak
Most fejezte be bot létrehozása egy weboldalt meglátogat, beírja felhasználónevét és jelszavát, és sikeresen aláírja Önt, az egész folyamat automatizálása egyetlen kattintással. Tudom, hogy ez egy egyszerű demonstráció, de a lehetőségek végtelenek.
Ugyanebben a jegyzetben, légy óvatos hogyan használod ezt a képességet. Egyesek botokat és automatizált szkripteket használnak, hogy több ezer alkalommal beírják a nyereményjátékokat, és teljes mértékben figyelmen kívül hagyják a feltételeket. Mások több rosszindulatú szándékkal használják őket.
Csak győződjön meg róla, hogy az automatizálást célszerűen és gondosan használja, mert valójában egy nagyon szükséges készség programozási közösségben!
A szerkesztő megjegyzése: Ez a hozzászólás írt a Hongkiat.com számára Malik Brahimi. A Malik a Greater Boston területén található fejlesztő, és szeret ételt, labdarúgást és programozást (Python kedvenc nyelve).
- Letöltés forrása