• Stars
    star
    234
  • Rank 170,566 (Top 4 %)
  • Language
    Python
  • License
    Mozilla Public Li...
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web automation library for simple and easy end to end testing and web browser automation that offers super charged features while keeping it simple to use and master

πŸ€– Crazy Smart Web automation and testing library for python

Downloads Downloads

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.

Buy me a coffee πŸ˜‡Buy me a coffee πŸ˜‡

Features :

  • Click any button or link without having to worry about finding the element first or knowing css_selectors , xpath etc
  • Automate and test pages loaded dynamically by javascript.
  • Smart scoring algorithm which finds the best matching elements on which you want to perform the action .
  • 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 )
  • Use any combination of selectors like id, name, text, css etc to perform actions on elements with one line of code.
  • 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.

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('[email protected]' , 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')


Links :

More Repositories

1

pyttsx3

Offline Text To Speech synthesis for python
Python
1,765
star
2

touchable

Flutter library to add gestures and animations to each Shape you draw on your canvas in your CustomPainter
Dart
218
star
3

electron-react-ts-starter

A solid :) boiler plate starter pack when starting an electron project which uses create-react-app with typescript.
TypeScript
111
star
4

card-scanner-flutter

A flutter package for Fast, Accurate and Secure Credit card & Debit card scanning
Swift
101
star
5

windows-terminal-tweaker

Tweak your windows terminal to heart's content with this app using its beautiful interface to configure everything about the terminal.
TypeScript
90
star
6

pyYify

This is a python library used to get the Top seeded torrents at any given time and get the entire movie details and ratings . Its also useful to search for any movie using different parameters and obtain their magnet link or torrent file of any preferred quality.
Python
56
star
7

svelte-ace

Ace Editor component for Svelte with TypeScript support πŸ₯³πŸ₯³
Svelte
43
star
8

rm-trash

A "rm-trash" is meant to be used in place of rm system command in linux . This script will safely delete your files and put them in the trash for later retrieval.
Shell
40
star
9

cardano-nft-minter

A script that handles minting cardano native tokens in a simple and interactive way.
Shell
29
star
10

tap-rpc

The tool you need for your GRPC clients and backends
TypeScript
25
star
11

torrento

A Dart package that wraps various Web Apis for controlling and managing torrent clients.
Dart
15
star
12

snakes

A LAN Multiplayer Snake game in C++ . This is a snake game which is a console based game written in C++ to which any number of players in LAN can join and play with their corresponding snakes with smooth synchronization.
C++
14
star
13

svelte-electron-ts-starter

This is a boiler plate starter pack when starting an electron project which uses svelte with typescript ⚑
TypeScript
10
star
14

tap-rest

TypeScript
9
star
15

coder-chat

A webapp built with react and express that is useful during coding sessions and other use cases that involve chatting and coding
TypeScript
6
star
16

flutter-snake-tutorial

Snake game made in flutter ! Hissss !
Dart
4
star
17

use-game-of-life

Demo of useGameOfLife
TypeScript
2
star
18

cns-lab-sit

Cryptography And Network Security Lab Programs
C++
2
star
19

flutter-multi-module-app

Sample multi module flutter app
Ruby
2
star
20

grpc-with-electron-sample-project

This project demonstrates an issue with grpc when run inside electron.
JavaScript
2
star
21

stream-it-android-app

Android app for streaming music on LAN.
Java
1
star
22

nateshmbhat

1
star
23

Regression

This repo contains many training models of Linear and Logistic regression implemented at lower level without using libraries like tensorflow.
Jupyter Notebook
1
star
24

Subtitle-grabber

Gets the subtitles for the video file or multiple videos in a specified directory.
Python
1
star
25

nateshmbhat.github.io

JavaScript
1
star
26

stream-it-desktop-app

The power to stream tons of music from your PCs onto your phones effortlessly.
Java
1
star
27

simple-countdown-timer

A countdown timer which is built to be used for a hackathon that we hosted.
JavaScript
1
star
28

dart-tutorial

Dart tutorial notes
1
star
29

timetable

Time table allotment Project which aims to automate the allotment of classes to available faculties and forming the time table.
Jupyter Notebook
1
star
30

nuclei-flutter-poc-qr-code-scanner

Dart
1
star
31

algorithms

An Algorithm must be seen to be believed
C++
1
star
32

torrential-lib-mobile-app

A demo flutter app which shows the usage of the torrential-lib library.
Dart
1
star
33

nuclei-assignment-2020-mobile

Freshers Assignment 2020 - Mobile Developer
Java
1
star
34

react-native-screen-resizer

Test your react native app across various device screen sizes and supercharge your application's responsiveness.
TypeScript
1
star
35

safe-rm-python

A safe "rm" script which is meant to be used in place of rm system command in linux . This script will safely delete your files and put them in the trash. This solves accidental removals.
Python
1
star
36

traffic-manager

Intel Higher Education challenge project which applies image processing for vehicles and uses the processed data to handle the traffic.
Python
1
star