DEV Community

Cover image for Web Browser Automation with Python
codesharedot
codesharedot

Posted on

1

Web Browser Automation with Python

The selenium module is used to control web browsers. You can control Chrome, Firefox, Chrome Mobile and many other browsers directly from Python code. You should know the basics of Python.

Install

Install the selenium module and web driver. Use the python package manager pip to install the module.

pip3 install selenium
Enter fullscreen mode Exit fullscreen mode

Each browser has a specific web driver. You can find a list of drivers on the selenium website.

For Chrome you need chromedriver. For Firefox you need geckodriver. The version of the driver needs to match the browser version on your pc.

Selenium

After the driver and module are installed, you can fire up a browser. First thing to do is import the selenium module and the time module.

Then start a browser instance

#!/usr/bin/python3
browser=webdriver.Firefox()
Enter fullscreen mode Exit fullscreen mode

Get the webpage:

#!/usr/bin/python3
browser.get("https://twitter.com")
Enter fullscreen mode Exit fullscreen mode

So you have this code

#!/usr/bin/python3
from selenium import webdriver
import time

# start web browser
browser=webdriver.Firefox()

# get source code
browser.get("https://twitter.com")
html = browser.page_source
time.sleep(2)
print(html)

# close web browser
browser.close()
Enter fullscreen mode Exit fullscreen mode

This then opens the browser and shows the HTML. You can interact with the browser just as you would normally do: click elements, type, scroll and much more.

Related links:

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (2)

Collapse
 
davidhullster profile image
spongyBrain

Nice quick intro to Selenium! I like the brevity.
It didn't occur to me that I can run Selenium from Python. Derp!

If anybody else gets this error 'FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'', there's a nice StackOverflow article here: StackOverflow that explains how to get the geckodriver binary for your OS.

Collapse
 
programingtube profile image
Big Box

Any best alternative please

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay