{"id":13638381,"url":"https://github.com/nateshmbhat/webbot","last_synced_at":"2025-04-12T20:42:15.279Z","repository":{"id":41541782,"uuid":"136581530","full_name":"nateshmbhat/webbot","owner":"nateshmbhat","description":"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","archived":false,"fork":false,"pushed_at":"2024-04-26T01:21:44.000Z","size":12752,"stargazers_count":247,"open_issues_count":50,"forks_count":86,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-04T00:07:43.540Z","etag":null,"topics":["automation","python","python3","web-automation","web-driver","webbot"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/webbot/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nateshmbhat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T07:15:56.000Z","updated_at":"2025-03-29T02:55:22.000Z","dependencies_parsed_at":"2024-06-18T15:23:06.839Z","dependency_job_id":"e7a5b8ca-5ccf-47d9-828b-949b78b43d00","html_url":"https://github.com/nateshmbhat/webbot","commit_stats":{"total_commits":89,"total_committers":12,"mean_commits":7.416666666666667,"dds":0.2471910112359551,"last_synced_commit":"333f51840cd5a1fcde0b014bd6ab401d51e62860"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fwebbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fwebbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fwebbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fwebbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nateshmbhat","download_url":"https://codeload.github.com/nateshmbhat/webbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631668,"owners_count":21136554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","python","python3","web-automation","web-driver","webbot"],"created_at":"2024-08-02T01:00:44.970Z","updated_at":"2025-04-12T20:42:15.254Z","avatar_url":"https://github.com/nateshmbhat.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/logo.svg?sanitize=true\" width=\"230px\" height=\"230px\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e 🤖 Crazy Smart Web automation and testing library for python \u003c/h2\u003e\n\n\n[![Downloads](https://pepy.tech/badge/webbot)](https://pepy.tech/project/webbot) ![Downloads](https://pepy.tech/badge/webbot/week)    [![](https://img.shields.io/readthedocs/webbot.svg?style=plastic)](https://webbot.readthedocs.io/en/latest/)  [![](https://img.shields.io/github/languages/code-size/nateshmbhat/webbot.svg?style=plastic)](https://github.com/nateshmbhat/webbot)  [![](https://img.shields.io/github/license/nateshmbhat/webbot?style=plastic)](https://github.com/nateshmbhat/webbot) [![](https://img.shields.io/pypi/v/webbot.svg?style=plastic)](https://github.com/nateshmbhat/webbot) [![](https://img.shields.io/github/languages/top/nateshmbhat/webbot.svg?style=plastic)](https://github.com/nateshmbhat/webbot) [![](https://img.shields.io/badge/author-nateshmbhat-green.svg)](https://github.com/nateshmbhat)\n\n\nwebbot 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.\n\n\u003ca class=\"bmc-button\" target=\"_blank\" href=\"https://www.buymeacoffee.com/nateshmbhat\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg\" alt=\"Buy me a coffee 😇\"\u003e\u003cspan style=\"margin-left:5px;font-size:19px !important;\"\u003eBuy me a coffee 😇\u003c/span\u003e\u003c/a\u003e\n\n## Features : \n\n+ Click any button or link without having to worry about finding the element first or knowing css_selectors , xpath etc\n+ Automate and test pages loaded dynamically by javascript. \n+ Smart scoring algorithm which finds the best matching elements on which you want to perform the action . \n+ 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 )\n+ Use any combination of selectors like id, name, text, css etc to perform actions on elements with one line of code. \n+ Automation designed to work even in case of webpages with dynamically changing id and classname\n+ Immensely minimizes the code required for performing input actions like clicks and keyboard actions. \n+ Get webpage source , cookies , total tabs , webpage title etc..\n+ Simulate key presses and special key combinations\n+ Bidirectional scrolling\n+ Perform an action on webpage elements by applying various filters to select the elements . \n+ Perfrom action on multiple elements at once.\n\n------------\n\n## Installation :\n`pip install webbot`\n\n\nIf \"No distribution found error occurs\" just update setuptools using \n`pip install --upgrade setuptools`\n\n\n## Quickstart :\n\n##### Demo code 0 :\n\n```python\nfrom webbot import Browser \nweb = Browser()\nweb.go_to('google.com') \nweb.type('hello its me')  # or web.press(web.Key.SHIFT + 'hello its me')\nweb.press(web.Key.ENTER)\nweb.go_back()\nweb.click('Sign in')\nweb.type('mymail@gmail.com' , into='Email')\nweb.click('NEXT' , tag='span')\nweb.type('mypassword' , into='Password' , id='passwordFieldId')\nweb.click('NEXT' , tag='span') # you are logged in . woohoooo\n```\n\n\u003cbr\u003e\n\n##### Demo code 1 :\n\n**If multiple buttons with similar properties are to be clicked at once**\n\n```python\nweb = Browser()\nweb.go_to('siteurl.com')\nweb.click('buttontext' , multiple = True)\n```\n\n\n\n##### Demo code 2 :\n**If there are multiple elements and you want to perform action on one of them**\n\n```python\nweb = Browser()\nweb.go_to('siteurl.com')\n\n# types the text into the 3rd input element when there are multiple input elements with form-input class\nweb.type('im robo typing' , number = 3 , classname=\"form-input\" ) \n\nweb.click('Post')\n```\n\n--------\n\n\u003cbr\u003e\n\n## Links : \n+ Read the dev article about this library : https://dev.to/nateshmbhat/automate-your-web-pages-with-webbot-without-much-code-6ih\n\n+ Full Documentation : https://webbot.readthedocs.io\n+ Project home  : https://github.com/nateshmbhat/webbot\n","funding_links":["https://www.buymeacoffee.com/nateshmbhat"],"categories":["Career Path","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnateshmbhat%2Fwebbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnateshmbhat%2Fwebbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnateshmbhat%2Fwebbot/lists"}