How to Build a Simple Auto-Login Bot with Python and Selenium

Automation is positively one of a many preferred skills a programmer can possess. Automation is typically used for tasks that are repetitive, boring, time-consuming, or differently inefficient though a use of a script.

With web automation, we can simply create a bot to perform opposite tasks on a web, for instance to guard competing hotel rates opposite a Internet and establish a best price.

Python Packages for Web Developers – Best of

Python Packages for Web Developers – Best of

In new years, Python has widespread like wildfire, and many developers, both beginners and experts, have taken a…Read more

Personally, we have always found logging into my email sincerely repeated and boring, so for a consequence of a elementary instance to get we guys started with web automation, let’s exercise an automated Python script to log in with a singular click to a Gmail account.

Gmail LoginGmail Login

Installation and Setup

In this educational we are going to use a following tools:

  1. Python programming language
  2. Google Chrome browser
  3. Selenium browser automation toolkit
  4. Chrome Driver web motorist for Chrome

For a program, we will be regulating a Python programming language, privately version 2.7.11. It is vicious that we implement a fairly new chronicle of Python 2 since it comes with PIP, that will concede us to implement third-party packages and frameworks that we will need to automate a scripts.

Once installed, restart your computer for a changes to take effect. Use a authority pip implement selenium to supplement a Selenium web automation toolkit to Python. Selenium will concede us to programmatically scroll, duplicate text, fill forms and click buttons.

Install SeleniumInstall Selenium

Finally download a Selenium Chrome Driver executable, that will open Google Chrome as indispensable to perform a programmed tasks. The Chrome Driver is simply a approach to open Google Chrome (which should already be installed) to access customary browser operations programmatically.

Simply download a many new ZIP record from here, remove a chromedriver.exe executable, and place a executable in any directory. Be certain to make note of where your executable is, since we will need it once we get started.

Starting a Program

As aforementioned, we’ll be regulating a Selenium web automation framework in sequence to log in programmatically. The initial sequence of business is to import each module we’ll be wanting from a Selenium Python library that we commissioned ealier with PIP.

Let’s open IDLE or another formula editor, create a new Python file with .py extension, and import a following modules:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

Next, we’ll create dual strings that paint a username and password for a email account. Pay courtesy to capitalization, generally in your cue string.

usernameStr = 'putYourUsernameHere'
passwordStr = 'putYourPasswordHere'

Now that we have all set adult in sequence to start a login process, we need to indeed indoctrinate a browser window to open Google Chrome, and navigate to Gmail’s login page.

If we haven’t finished so already, make certain your Python book is saved in a same plcae as a chromedriver.exe executable we extracted earlier.

browser = webdriver.Chrome()
browser.get(('https://accounts.google.com/ServiceLogin?'
             'service=mailcontinue=https://mail.google'
             '.com/mail/#identifier'))
Finding Our Element

We’ve successfully gotten a browser to open Gmail, though now we need to find a submit fields on a web page, into that we can enter a username and password.

We can do this simply regulating a built-in Chrome Developer Tools. We usually need to right-click on a submit fields, and name a “Inspect” menu.

Find Element in Developer ToolsFind Element in Developer Tools

Now it’s only a matter of using HTML id attributes to find a elements programmatically.

In a formula below, we’re simply searching for a username submit margin by id, and filling it with a preferred text. Then we’re searching for a Next button that transitions with a discerning animation before call us for a password.

The send_keys() and click() commands do accurately as their names advise — send_keys() simulates keypresses in a preferred element, and click() simulates a rodent click.

# fill in username and strike a subsequent button
username = browser.find_element_by_id('Email')
username.send_keys(usernameStr)
nextButton = browser.find_element_by_id('next')
nextButton.click()

We can do a same thing for a cue submit field, as good as for a Sign in button. However, these dual equipment seem on a page only after an charcterised transition.

That said, we need a module to wait a few seconds before resuming a hunt for elements. For a many part, this theatre of formula is no opposite from a prior one. We simply have to indoctrinate a browser to wait a limit of 10 seconds before locating a cue entry.

# wait for transition afterwards continue to fill items
password = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'Passwd')))
password.send_keys(passwordStr)

signInButton = browser.find_element_by_id('signIn')
signInButton.click()
Final Words

You’ve only finished creating a bot that visits a web page, enters your username and password, and successfully pointer we in, automating a whole process to a singular click. we know this was a elementary demonstration, though a possibilities are endless.

On that same note, be careful of how we use this skill. Some people use bots and programmed scripts to enter sweepstakes thousands of times, totally except terms and conditions. Others use them for some-more antagonistic intentions.

Just be certain to use automation purposefully and carefully, since it unequivocally is a much indispensable skill in a programming community!

Demo

Have a demeanour at a full code of this educational on a Github account.

Add Comment