Skip to main content

Web Browser automation and testing library for python with more features and simpler api than selenium

Project description

Web automation library for python for web browser automation and end to end UI testing.

webbot provides a much feature rich automation than selenium for all kinds of automation of webpage. Since the major portion of web automation is to perform actions like click and type into webpage elements , webbot automatically handles finding the right elements to perform the actions.

Features :

  • Use any combination of selectors like id, name, text, css etc to perform actions on elements with one line of code.

  • Automate and test pages loaded dynamically by javascript.

  • Click any button or link without having to worry about finding the element first or knowing css_selectors , xpath etc

  • Smart scoring algorithm which finds the best matching elements on which you want to perform the action .

  • Automation designed to work even in case of webpages with dynamically changing id and classname

  • Immensely minimizes the code required for performing input actions like clicks and keyboard actions.

  • Get webpage source , cookies , total tabs , webpage title etc..

  • Simulate key presses and special key combinations

  • Bidirectional scrolling

  • Perform an action on webpage elements by applying various filters to select the elements .

  • Perfrom action on multiple elements at once.

  • If certain elements don’t have text or visible property , then use either their id , class , css_selector , xpath , tag etc.

  • The entire automation process can be made without having to open the browser window i.e in the background as a console process (see docs for more details )


Installation :

pip install webbot

If “No distribution found error occurs” just update setuptools using pip install --upgrade setuptools

Quickstart :

Demo code 0 :

from webbot import Browser
web = Browser()
web.go_to('google.com')
web.type('hello its me')  # or web.press(web.Key.SHIFT + 'hello its me')
web.press(web.Key.ENTER)
web.go_back()
web.click('Sign in')
web.type('mymail@gmail.com' , into='Email')
web.click('NEXT' , tag='span')
web.type('mypassword' , into='Password' , id='passwordFieldId')
web.click('NEXT' , tag='span') # you are logged in . woohoooo

Demo code 1 :

If multiple buttons with similar properties are to be clicked at once

web = Browser()
web.go_to('siteurl.com')
web.click('buttontext' , multiple = True)

Demo code 2 :

If there are multiple elements and you want to perform action on one of them

web = Browser()
web.go_to('siteurl.com')

# types the text into the 3rd input element when there are multiple input elements with form-input class
web.type('im robo typing' , number = 3 , classname="form-input" )

web.click('Post')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webbot-0.3.tar.gz (12.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

webbot-0.3-py3-none-any.whl (12.9 MB view details)

Uploaded Python 3

File details

Details for the file webbot-0.3.tar.gz.

File metadata

  • Download URL: webbot-0.3.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for webbot-0.3.tar.gz
Algorithm Hash digest
SHA256 74a45aa2ebfa6e1974ab2537ec4e8426ba4fad5715048f8c3f49d4e14cf45712
MD5 b40610a99a517d52b614d0eef275369a
BLAKE2b-256 845ef64eb1ea754a67f736b1db9b095389f46a78bf9dea4cc6cedfb15e08ce19

See more details on using hashes here.

File details

Details for the file webbot-0.3-py3-none-any.whl.

File metadata

  • Download URL: webbot-0.3-py3-none-any.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for webbot-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0fd230ad76086bf60f47221f31851d51ae77593f614db86a00c5a0989d7623a5
MD5 35b6f96ba2c8f03b83aeda2a5aa1036f
BLAKE2b-256 a5071f171da619cbae71d3e2e4ba3a2100e5d63f27c74d16df9e0780c6029d04

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page