Python | Automate Google Search using Selenium


Google search can be automated using Python script in just 2 minutes. This can be done using selenium (a browser automation tool). Selenium is a portable framework for testing web applications. It can automatically perform the same interactions that any you need to perform manually and this is a small example of it. Mastering Selenium will help you automate your day to day tasks like controlling your tweets, Whatsapp texting and even just googling without actually opening a browser in just 15-30 lines of python code. The limits of automation is endless with selenium.

Installation

  1. Selenium
    pip install selenium  
    
  2. Chrome browser
  3. Chromedriver
    Download the chrome browser from here (choose the version for your system)
    After downloading, extract it and then copy the file in the folder of the script.

This can be done in two ways, by taking input from the user and by giving input in the command line itself.

# Method 1
Asking the user for input.



filter_none

edit
close

play_arrow

link
brightness_4
code

from selenium import webdriver
  
# Taking input from user
search_string = input("Input the URL or string you want to search for:")
  
# This is done to structure the string 
# into search url.(This can be ignored)
search_string = search_string.replace(' ', '+'
  
# Assigning the browser variable with chromedriver of Chrome.
# Any other browser and its respective webdriver 
# like geckodriver for Mozilla Firefox can be used
browser = webdriver.Chrome('chromedriver')
  
for i in range(1):
    matched_elements = browser.get("https://www.google.com/search?q =" +
                                     search_string + "&start =" + str(i))

chevron_right


After saving the above script in script.py, run it in the command prompt as:

python script.py

# Method 2

Taking search string in the command line itself.

filter_none

edit
close

play_arrow

link
brightness_4
code

from selenium import webdriver
import sys
  
# function to convert a list into string
def convert(s): 
    str1 = "" 
    return(str1.join(s)) 
        
# Assign the arguments passed to a variable search_string
search_string = sys.argv[1:] 
  
# The argument passed to the program is accepted
# as list, it is needed to convert that into string
search_string = convert(search_string)
  
# This is done to structure the string 
# into search url.(This can be ignored)
search_string = search_string.replace(' ', '+'
  
  
# Assigning the browser variable with chromedriver of Chrome.
# Any other browser and its respective webdriver 
# like geckodriver for Mozilla Firefox can be used
browser = webdriver.Chrome('chromedriver')
  
  
for i in range(1):
    matched_elements = browser.get("https://www.google.com/search?q =" + 
                                   search_string + "&start =" + str(i))

chevron_right


After saving the above script in script.py, run it in the command prompt as:

python script.py "geeksforgeeks"


My Personal Notes arrow_drop_up

Tech Enthusiast

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.