Домашня » Кодування » Як побудувати простий автозапис Bot з Python і Selenium

    Як побудувати простий автозапис Bot з Python і Selenium

    Автоматизація це, безсумнівно, одна з найбажаніших навичок, якими може володіти програміст. Автоматизація зазвичай використовується для виконання завдань повторювані, нудні, трудомісткі, або іншим чином неефективний без використання сценарію.

    С веб-автоматизація, Ви можете легко створити бота для виконання різних завдань в Інтернеті, наприклад, для спостереження за конкурентними цінами в Інтернеті та визначення найкращої ціни.

    Особисто я завжди знайшов увійти до моєї електронної пошти досить повторювані і нудні, тому заради простого прикладу ви можете отримати хлопців почалася з веб-автоматизації, давайте реалізуємо автоматизований скрипт Python до Увійдіть одним клацанням миші на обліковий запис Gmail.

    Встановлення та налаштування

    У цьому підручнику ми збираємося використовувати наступні інструменти:

    1. Мова програмування Python
    2. Браузер Google Chrome
    3. Інструментарій автоматизації браузера Selenium
    4. Драйвер веб-переглядача Chrome для Chrome

    Для нашої програми, ми будемо використовувати мову програмування Python, зокрема версія 2.7.11. Дуже важливо, щоб ми встановили a досить нова версія Python 2 тому що вона поставляється з PIP, що дозволить нам встановлювати сторонні пакети та фреймворки, які нам знадобляться для автоматизації наших скриптів.

    Після встановлення, перезавантажте комп'ютер щоб зміни набули чинності. Використовуйте команду піп встановити селен , щоб додати Інструментарій автоматизації веб-Селен на Python. Селен дозволить нам програмно прокручувати, копіювати текст, заповнювати форми і натискати кнопки.

    Нарешті скачайте Селен Chrome Драйвер драйвера, які будуть відкрити Google Chrome як це необхідно для виконання наших автоматизованих завдань. Драйвер Chrome - це просто спосіб відкрити Google Chrome (який вже має бути встановлено) доступ до стандартних операцій браузера програмно.

    Просто завантажте останній ZIP-файл звідси, витягніть chromedriver.exe виконуваного файлу, і розміщення виконуваного файлу в будь-якому каталозі. Не забудьте зауважити, де ваш виконуваний файл, тому що нам знадобиться, коли ми почнемо.

    Запуск програми

    Як було сказано вище, ми будемо використовувати Селен веб-автоматизації рамки щоб вхід програмно. Перший порядок діяльності - це імпортувати кожен модуль ми будемо потребувати від бібліотеки Selenum Python, яку ми встановили ealier з PIP.

    Відкриємо IDLE або інший редактор коду, створити новий файл Python с .py розширення, і імпортувати наступні модулі:

     з selenium імпортувати webdriver з selenium.webdriver.common.by імпортувати за допомогою selenium.webdriver.support.ui імпортувати WebDriverWait з selenium.webdriver.support import_conditions як 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 id атрибути знайти елементи програмно.

    У наведеному нижче коді ми просто пошук поля введення імені користувача за id, і заповнення з потрібним текстом. Тоді ми пошук кнопки Далі який переходить з швидкою анімацією, перш ніж запитувати нас про пароль.

    The 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 = browser.find_element_by_id ('signIn' ) signInButton.click () 
    Заключні слова

    Ви тільки що закінчили створення бота що відвідує веб-сторінку, вводить ваше ім’я користувача та пароль і успішно підписує вас, автоматизація всього процесу одним клацанням миші. Я знаю, що це була проста демонстрація, але можливості нескінченні.

    На тій же ноті, будь обережний про те, як ви використовуєте цю навичку. Деякі люди використовують боти і автоматизовані сценарії для вступу в тоталізатори тисячі разів, повністю не враховуючи умови та умови. Інші використовують їх для більш злісних намірів.

    Просто переконайтеся, що використовуйте автоматизацію цілеспрямовано і ретельно, тому що це дійсно є настільки необхідний навик у програмуванні!

    Примітка редактора: Це пост, написаний для Hongkiat.com Малік Брахімі. Малік - розробник, розташований у районі Великого Бостона, і любить їжу, футбол і програмування (улюблений мова Python).

    • Завантажити джерело