Как да се изгради Simple Auto-Login Bot с Python и селен
Автоматизация без съмнение е едно от най-желаните умения, които един програмист може да притежава. Автоматизацията обикновено се използва за задачи, които са повтарящи се, скучни, отнемащи много време, или иначе неефикасен без използването на скрипт.
с уеб автоматизация, лесно можете създайте бот за изпълнение на различни задачи в интернет, например за наблюдение на конкуриращи се хотелски цени в интернет и за определяне на най-добрата цена.
Лично аз винаги съм откривал влизане в моя имейл доста повтарящи се и скучни, така че в името на прост пример да ви накарат момчета започна с уеб автоматизация, нека приложим автоматизиран скрипт на Python да се влезте с едно кликване към профил в Gmail.
Инсталиране и настройка
В този урок ще използваме следните инструменти:
- Python език за програмиране
- Google Chrome браузър
- Инструментариум за автоматизация на браузърите на Selenium
- Уеб драйвер за драйвер на Chrome за Chrome
За нашата програма ще използваме езика за програмиране на Python версия 2.7.11. От решаващо значение е да инсталираме a сравнително нова версия на Python 2 защото идва с нея PIP, което ще ни позволи да инсталираме пакети и рамки на трети страни, които ще трябва да автоматизираме скриптовете си.
Веднъж инсталиран, рестартирайте компютъра за да влязат в сила промените. Използвайте командата инсталира селен
, за да добавите Селенски инструментариум за уеб автоматизация към Python. Селенът ще ни позволи програмно да превъртате, копирате текст, попълвате формуляри и щраквате върху бутоните.
Накрая изтеглете Selenium Chrome Driver изпълним, което ще отворете Google Chrome както е необходимо за изпълнение на нашите автоматизирани задачи. Драйверът на Chrome е просто начин да отворите Google Chrome (който вече трябва да бъде инсталиран) достъп до стандартните операции на браузъра програмно.
Просто изтеглете най-новия ZIP файл от тук, извлечете chromedriver.exe
изпълним и поставете изпълнимия файл във всяка директория. Не забравяйте да отбележите къде е вашата изпълнима, защото ще ни трябва, след като започнем.
Стартиране на програмата
Както е посочено по-горе, ще използваме Селенска автоматизирана рамка за уеб за да регистрирайте се програмно. Първата цел на бизнеса е да импортирайте всеки модул ще се нуждаем от библиотеката Selenum Python, която инсталирахме с PIP.
Нека да отворим IDLE или друг редактор на код, създайте нов Python файл с .пг
разширение, и импортирайте следните модули:
от selenium внос webdriver от selenium.webdriver.common.by импортиране от от selenium.webdriver.support.ui внос WebDriverWait от selenium.webdriver.support импортиране очаквани_условия като EC
След това ще го направим създайте две низове които представляват нашите потребителско име и парола за имейл акаунта. Обърнете внимание на капитализацията, особено в низа за паролата.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Сега, когато имаме всичко, за да стартираме процеса за влизане, трябва действително да инструктираме прозореца на браузъра отворете Google Chrome, и отидете на страницата за вход в Gmail.
Ако вече не сте го направили, уверете се, че вашият Python скрипт е записани на същото място като chromedriver.exe
изпълним ние извлекли по-рано.
browser = webdriver.Chrome () browser.get (("https://accounts.google.com/ServiceLogin?" service = mail & continue = https: //mail.google ".com / mail / # identifier"))
Намиране на нашия елемент
Успешно придобихме браузъра да отвори Gmail, но сега трябва намерете полетата за въвеждане на уеб страницата, в която можем въведете нашето потребителско име и парола.
Ние можем да направим това лесно, като използваме вградените инструменти за разработчици на Chrome. Трябва само да щракнете с десния бутон върху полетата за въвеждане и да изберете “Огледайте” меню.
Сега е само въпрос използване на HTML документ за самоличност
атрибути да се намерят елементите програмно.
В кода по-долу ние сме просто търсене на полето за въвеждане на потребителско име от документ за самоличност
, и запълване с желания текст. Тогава ние сме търсене на бутона Напред който преминава с бърза анимация, преди да ни подкани за парола.
Най- send_keys ()
и кликнете ()
команди правят точно както предполагат техните имена - send_keys ()
симулира натискания на клавиши в желания елемент и кликнете ()
симулира щракване на мишката.
# попълнете потребителското име и натиснете бутона следващия username = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Ние можем направете същото за полето за въвеждане на парола, както и за бутона за влизане. Тези две позиции обаче се появяват на страницата само след анимиран преход.
Като имаме предвид, ние се нуждаем от програмата изчакайте няколко секунди преди да продължи търсенето на елементи. В по-голямата си част този етап на код не се различава от предишния. Трябва просто да инструктираме браузъра да изчакайте максимум 10 секунди преди да намерите паролата.
# изчакайте за преход, след това продължете да попълвате елементи password = WebDriverWait (браузър, 10) .до (EC.presence_of_element_located ((By .ID, 'Passwd'))) password.send_keys (passwordStr) ) signInButton.click ()
Заключителни думи
Току-що завършихте създаване на бот който посещава уеб страница, въвежда потребителското ви име и паролата ви и успешно ви подписва, автоматизиране на целия процес само с едно кликване. Знам, че това е проста демонстрация, но възможностите са безкрайни.
На същата бележка, Бъди внимателен как се използва това умение. Някои хора използват ботове и автоматизирани скриптове, за да влизат в лотария за хиляди пъти, като напълно пренебрегват правилата и условията. Други ги използват за по-злонамерени намерения.
Просто не забравяйте да използвате автоматизация целенасочено и внимателно, защото тя наистина е много необходимо умение в програмната общност!
Бележка на редактора: Това е пост, написан за Hongkiat.com от Малик Брахими. Малик е разработчик, разположен в района на Големия Бостън, и обича храна, футбол и програмиране (любим език Python).
- Изтеглете Източник