Jak vytvořit jednoduchý Auto-Login Bot s Python a Selenium
Automatizace je nepochybně jednou z nejvyhledávanějších dovedností, které může programátor mít. Automatizace se obvykle používá pro úkoly, které jsou opakované, nudné, časově náročné, nebo jinak neefektivní bez použití skriptu.
S webová automatizace, můžete snadno vytvořit bota k provádění různých úkolů na webu, například pro sledování konkurenčních hotelových cen na internetu a určení nejlepší ceny.
Osobně jsem vždycky našla přihlášení do mého e-mailu docela opakující se a nudné, takže pro jednoduchý příklad, aby vás kluci s webovou automatizací, implementujme automatizovaný skript Python na Přihlaste se jediným kliknutím na účet Gmail.
Instalace a instalace
V tomto tutoriálu budeme používat následujících nástrojů:
- Programovací jazyk Python
- Prohlížeč Google Chrome
- Sada nástrojů pro automatizaci prohlížeče Selenium
- Webový ovladač ovladače Chrome pro Chrome
Pro náš program budeme používat programovací jazyk Python, konkrétně verze 2.7.11. Je důležité, abychom nainstalovali a poměrně nová verze Pythonu 2 protože přichází PIP, které nám umožní instalovat balíčky a rámce třetích stran, které budeme potřebovat k automatizaci našich skriptů.
Po instalaci, restartuj svůj počítač změny se projeví. Použijte příkaz instalovat selen
přidat Selenium web automatizace toolkit do Pythonu. Selenium nám umožní programově posouvat, kopírovat text, vyplňovat formuláře a klepnout na tlačítka.
Nakonec si stáhněte Spustitelný program Selenium Chrome Driver, který bude otevřete Google Chrome k provádění našich automatizovaných úkolů. Ovladač Chrome je jednoduše způsob, jak otevřít prohlížeč Google Chrome (který by měl být již nainstalován) programově přístup ke standardním operacím prohlížeče.
Jednoduše si stáhněte nejnovější ZIP soubor, rozbalte chromedriver.exe
spustitelný soubor a umístěte spustitelný soubor do libovolného adresáře. Nezapomeňte si poznamenat, kde je váš spustitelný soubor, protože budeme to potřebovat, až začneme.
Spuštění programu
Jak bylo uvedeno výše, budeme používat Selenium web automatizace rámec v následujících situacích přihlásit se programově. První pořadí práce je importovat každý modul budeme potřebovat z knihovny Selenium Python, kterou jsme nainstalovali s PIP.
Otevřeme IDLE nebo jiný editor kódu, vytvořit nový soubor Python s .py
rozšíření a importovat následující moduly:
od importu selenium webdriver od selenium.webdriver.common.by import Od selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import očekávané_podmínky jako EC
Další vytvořit dva řetězce které reprezentují naše uživatelské jméno a heslo pro e-mailový účet. Věnujte pozornost kapitalizaci, zejména v řetězci hesel.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Nyní, když máme vše nastaveno tak, abychom mohli začít přihlašovací proces, musíme skutečně nařídit okno prohlížeče otevřete Google Chrome, a přejděte na přihlašovací stránku služby Gmail.
Pokud jste tak dosud neučinili, ujistěte se, že je skript Python uloženy na stejném místě jako chromedriver.exe
spustitelný dříve jsme vytěžili.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "service = mail & continue = https: //mail.google" .com / mail / # identifikátor "))
Nalezení našeho Prvek
Úspěšně jsme dostali prohlížeč, abychom mohli otevřít službu Gmail, ale nyní je potřeba najít vstupní pole na webové stránce, do které můžeme zadejte naše uživatelské jméno a heslo.
To lze snadno provést pomocí vestavěných nástrojů pro vývojáře Chrome. Stačí kliknout pravým tlačítkem myši na vstupní pole a vybrat položku “Kontrolovat” Jídelní lístek.
Teď je to jen otázka pomocí HTML id
atributy najít prvky programově.
V níže uvedeném kódu jsme prostě vyhledání vstupního pole uživatelského jména pomocí id
, a naplnění s poľadovaným textem. Pak jsme hledání tlačítka Další který přechází rychlou animací, než nás vyzve k zadání hesla.
send_keys ()
a kliknout ()
příkazy dělají přesně podle jejich názvů - send_keys ()
simuluje stisknutí kláves v požadovaném prvku a kliknout ()
simuluje kliknutí myší.
# vyplňte uživatelské jméno a stiskněte následující tlačítko username = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Můžeme to samé pro pole pro zadání hesla, stejně jako pro tlačítko Přihlásit. Tyto dvě položky se však zobrazí na stránce pouze po animovaný přechod.
To znamená, že program potřebujeme počkejte několik sekund před obnovením hledání prvků. Tato část kódu se z větší části neliší od předchozí. Prostě musíme instruovat prohlížeč počkejte maximálně 10 sekund před zadáním hesla.
# počkejte na přechod a pak pokračujte v vyplňování položek password = WebDriverWait (prohlížeč, 10). (EC.presence_of_element_located ((By.ID, 'Passwd')) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn') ) signInButton.click ()
Závěrečná slova
Právě jste skončil vytvoření bot který navštíví webovou stránku, zadá své uživatelské jméno a heslo a úspěšně se přihlásí, automatizace celého procesu na jedno kliknutí. Vím, že to byla jednoduchá demonstrace, ale možnosti jsou nekonečné.
Na stejnou poznámku, buď opatrný jak tuto dovednost používáte. Někteří lidé používají roboty a automatizované skripty pro vstup do sázek tisícekrát, zcela bez ohledu na podmínky. Jiní je používají pro zákeřnější úmysly.
Jen se ujistěte, že automatizaci používáte účelně a pečlivě, protože je to opravdu potřebnou dovednost v programové komunitě!
Poznámka editora: Toto je příspěvek psaný pro Hongkiat.com by Malik Brahimi. Malik je vývojář umístěný v oblasti Greater Boston a miluje jídlo, fotbal a programování (oblíbený jazyk Python).
- Stáhněte si zdroj