Skip to main content

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

wybsel 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 , wybsel 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 wybsel

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

Quickstart :

Demo code 0 :

from wybsel 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')

Release files for wybsel 0.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wybsel 0.5.6
File Size Uploaded
wybsel-0.5.6.tar.gz 12.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for wybsel 0.5.6
File Interpreter ABI Platform
wybsel-0.5.6-py3.8.egg Legacy Egg format - - Details

Total release size: 25.9 MB

Release files / wybsel-0.5.6.tar.gz

Download URL wybsel-0.5.6.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
98cfdcd3ac290a3e1f8561cb9789d2939d702b0ee42c31370d86a68c8f96c16e
BLAKE2b-256 checksum
How to use checksums
39b38bf6a8f867ced7008c87e22c7698c8f3faa593f0a32f69ce14b71f6c74a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.7

Release files / wybsel-0.5.6-py3.8.egg

Download URL wybsel-0.5.6-py3.8.egg
Size 12.9 MB
Tags Egg
SHA-256 checksum
How to use checksums
c565b97db282930a0585f6f3d54d401b205e2a4373574d05cc0731b661298d9b
BLAKE2b-256 checksum
How to use checksums
87d2a3d2bdbaf2e0a0444de40750ae6151116a42c817a0752faba614a4a2b41d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.7

Release history Release notifications | RSS feed

This release

0.5.6 This release

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page