https://github.com/jakob-bagterp/browserist
👩💻 Python extension for the Selenium web driver that makes browser automation even easier 👨💻
https://github.com/jakob-bagterp/browserist
automation browser python selenium selenium-python selenium-webdriver webdriver
Last synced: 5 months ago
JSON representation
👩💻 Python extension for the Selenium web driver that makes browser automation even easier 👨💻
- Host: GitHub
- URL: https://github.com/jakob-bagterp/browserist
- Owner: jakob-bagterp
- License: apache-2.0
- Created: 2022-01-10T22:11:27.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-30T08:19:27.000Z (about 1 year ago)
- Last Synced: 2024-05-01T16:31:13.240Z (about 1 year ago)
- Topics: automation, browser, python, selenium, selenium-python, selenium-webdriver, webdriver
- Language: Python
- Homepage: https://jakob-bagterp.github.io/browserist/
- Size: 4.18 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/funding.yml
- License: LICENSE.md
- Support: docs/support-and-contribution.md
Awesome Lists containing this project
README
[](https://github.com/jakob-bagterp/browserist/releases/latest)
[](https://www.python.org)
[](https://github.com/jakob-bagterp/browserist/blob/master/LICENSE.md)
[](https://codecov.io/gh/jakob-bagterp/browserist)
[](https://github.com/jakob-bagterp/browserist/actions/workflows/github-code-scanning/codeql)
[](https://github.com/jakob-bagterp/browserist/actions/workflows/test.yml)
[](https://pepy.tech/project/browserist)# 👩💻 Browserist – Python Extension for Selenium 👨💻
> **browserist**
> 1. The belief that web browsers account for differences in websites or web applications in all of their ability and that a particular web browser is superior to others.
> 2. Discrimination or prejudice based on web browser.Despite the [urban definition](https://www.urbandictionary.com/define.php?term=browserist), Browserist is a Python extension of the [Selenium web driver](https://www.selenium.dev/) that makes it even easier to use different browsers for testing and automation.
## Key Features
With Browserist as an extension to Selenium, you get:* Improved stability and speed
* Simple syntax and less code
* Hassle-free setup across browsers: Chrome, Firefox, Edge, Safari, Internet Explorer
* Extensive framework of functions that makes browser automation easy
* Efficient development workflow with IntelliSense and type hints## How to Install
Ready to try? With [PyPI](https://pypi.org/project/browserist/):```shell
pip install browserist
```Or with [Homebrew](https://brew.sh):
```shell
brew tap jakob-bagterp/browserist
brew install browserist
```Find more installation details [here](https://jakob-bagterp.github.io/browserist/getting-started/installation/).
## Getting Started
You're now ready to go:```python
from browserist import Browserwith Browser() as browser:
browser.open.url("https://example.com")
browser.wait.seconds(5)
```## Improved Stability and Less Code
Browserist improves stability with less code compared to standard use of Selenium. As browsers need time to render web pages, especially single-page applications, Selenium is often used with explicit timeouts:```python
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get("https://example.com")
driver.implicitly_wait(3)
search_box = driver.find_element(By.XPATH, "//xpath/to/input")
search_button = driver.find_element(By.XPATH, "//xpath/to/button")
search_box.send_keys("Lorem ipsum")
search_button.click()
driver.quit()
```Browserist does the same with less and cleaner code, yet also with increased stability and without explicit/implicit waits:
```python
from browserist import Browserwith Browser() as browser:
browser.open.url("https://example.com")
browser.input.value("//xpath/to/input", "Lorem ipsum")
browser.click.button("//xpath/to/button")
```## Documentation
Find tutorials, code examples, list of all methods and much more [here](https://jakob-bagterp.github.io/browserist).## Become a Sponsor 🏅
If you find this project helpful, please consider supporting its development. Your donations will help keep it alive and growing. Every contribution, no matter the size, makes a difference.[Donate on GitHub Sponsors](https://github.com/sponsors/jakob-bagterp)
Thank you for your support! 🙌
## Contribute
If you have suggestions or changes to the module, feel free to add to the code and create a [pull request](https://github.com/jakob-bagterp/browserist/pulls).## Report Bugs
Report bugs and issues [here](https://github.com/jakob-bagterp/browserist/issues).