Selenium is a versatile tool that can be used for automating browser-based tests. It has a wide range of features that make it an ideal choice for automating tests. Selenium can be used to automate tests for web applications and web services. Selenium supports a number of programming languages, including Java, C#, Python, and Ruby.

This makes it possible to write tests in the language that you are most comfortable with. In addition, Selenium has a large user community that provides support and help when needed.

In this blog post, you will learn to set up a Selenium environment on an Ubuntu system. Also provides you with a few examples of Selenium scripts written in Python.

Prerequisites

You must have Sudo privileged account access to the Ubuntu system.

One of the examples also required a desktop environment to be installed.

1. Installing Google Chrome

Use the below steps to install the latest Google Chrome browser on Ubuntu and Debian systems.

  1. Open a terminal on your system and type:
    wget -nc https://dl-ssl.google.com/linux/linux_signing_key.pub 
    cat linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/linux_signing_key.gpg  >/dev/null 
    
  2. Next, create a Apt PPA file for Google chrome on your system by executing:
    sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/chrome.list' 
    
  3. Now, execute the following commands to update the apt cache and install Google Chrome stable version:
    sudo apt update 
    sudo apt install google-chrome-stable 
    

    Press ‘y’ for all the confirmation asked by the installer.

This will install Google Chrome on your Ubuntu system.

2. Installing Selenium and Webdriver for Python

We will use a virtual environment for running Python scripts. Follow the below steps to create Python virtual environment and install the required python modules.

  1. Create a directory to store Python scripts. Then switch to the newly-created directory.
    mkdir tests && cd tests 
    
  2. Setup the Python virtual environment and activate it.
    python3 -m venv venv 
    source venv/bin/activate 
    

    Once the environment is activated, You will find the updated prompt as below screenshot:

    Setup Selenium with Python and Chrome on Ubuntu & Debian Automation Debian Python selenium ubuntu
    Create Python Environment for Selenium on Ubuntu
  3. Now use PIP to install the selenium and webdriver-manager Python modules.
    pip install selenium webdriver-manager 
    

    Setup Selenium with Python and Chrome on Ubuntu & Debian Automation Debian Python selenium ubuntu
    Installing Selenium and Webdriver Python Module on Ubuntu & Debian

3. Example 1: Selenium Python Script with Headless Chrome

Your system is ready to run Selenium scripts written in Python. Now, create a sample selenium script in Python that fetches the title of a website.

This script will run headless, So you can run it without an X desktop environment. You can simply SSH to your system and run the below example:

  1. Create a Python script and edit in favorite text editor:
    nano test.py 
    
  2. Copy-paste the following Selenium Python script to the file.

    from selenium import webdriver

    from selenium.webdriver.chrome.options import Options

    from selenium.webdriver.chrome.service import Service

    from webdriver_manager.chrome import ChromeDriverManager

    options = Options()

    options.add_argument(‘–headless’)

    options.add_argument(‘–no-sandbox’)

    options.add_argument(‘–disable-dev-shm-usage’)

    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

    driver.get(“https://python.org”)

    print(driver.title)

    driver.close()

    Press CTRL O to save content to file and press CTRL X to close editor.

  3. Now, run this Python script in a shell.
    python test.py 
    

    You will see the output something like below:

    Setup Selenium with Python and Chrome on Ubuntu & Debian Automation Debian Python selenium ubuntu
    Running the Selenium Python Script

4. Example 2: Selenium Python Script with Chrome GUI

In order to run this example, the Ubuntu system must have installed a Desktop environment. If the desktop is not installed, use another tutorial to install the Desktop environment on Ubuntu systems.

Now, log in to the desktop interface and try to run the below example.

  1. Open a command prompt, then create a new Python script and edit in your favorite text editor.
    nano test.py 
    
  2. Copy-paste the below snippet in the file:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    import time

    from selenium import webdriver

    from selenium.webdriver.chrome.options import Options

    from selenium.webdriver.chrome.service import Service

    from selenium.webdriver.common.by import By

    from selenium.webdriver.common.keys import Keys

    from webdriver_manager.chrome import ChromeDriverManager

    options = Options()

    # options.add_argument(‘–headless’)

    # options.add_argument(‘–no-sandbox’)

    options.add_argument(‘–disable-dev-shm-usage’)

    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

    driver.get(‘http://www.google.com’)

    search = driver.find_element(by=By.NAME, value=“q”)

    search.send_keys(“Hey, Tecadmin”)

    search.send_keys(Keys.RETURN)

    time.sleep(5)

    driver.close()

    Write the changes to file with CTRL O and close this with keyboard shortcut CTRL X

  3. This is a Selenium script written in Python, that will launch the Google Chrome web browser and search for a defined string. then close the browser.
  4. Run the Python script in terminal:
    python test2.py 
    

    You will see that a Browser window will open and perform the defined tasks in the script. See the below screencast of the run:

Conclusion

In this tutorial, you have learned about the configuration of Selenium for Python on Ubuntu and Debian Linux systems. Also provides you with two Selenium examples. Hope this tutorial helps you to understand to run Selenium with Python.