All Projects → pythad → Selenium_extensions

pythad / Selenium_extensions

Licence: mit
Tools that will make writing tests, bots and scrapers using Selenium much easier

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Selenium extensions

atata-kendoui
A set of Atata components for Kendo UI
Stars: ✭ 17 (-87.86%)
Mutual labels:  selenium, test-automation, selenium-webdriver
page-modeller
⚙️ Browser DevTools extension for modelling web pages for automation.
Stars: ✭ 66 (-52.86%)
Mutual labels:  selenium, test-automation, selenium-webdriver
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+65.71%)
Mutual labels:  selenium, test-automation, selenium-webdriver
Atata
C#/.NET test automation framework for web
Stars: ✭ 362 (+158.57%)
Mutual labels:  selenium, test-automation, selenium-webdriver
Sillynium
Automate the creation of Python Selenium Scripts by drawing coloured boxes on webpage elements
Stars: ✭ 100 (-28.57%)
Mutual labels:  selenium, selenium-webdriver
Webdriverextensions
Make your WebDriver based Selenium tests more readable, reusability and maintainable by using WebDriver Extensions!
Stars: ✭ 89 (-36.43%)
Mutual labels:  selenium, selenium-webdriver
Unium
Automation for Unity games
Stars: ✭ 132 (-5.71%)
Mutual labels:  selenium, test-automation
Csharp.webdriver
Browser test automation using Selenium WebDriver in C#
Stars: ✭ 115 (-17.86%)
Mutual labels:  selenium, selenium-webdriver
Java.appium
Mobile test automation using Appium in Java
Stars: ✭ 59 (-57.86%)
Mutual labels:  selenium, selenium-webdriver
Frameworkium Core
Framework for writing maintainable Selenium and REST API tests in Java.
Stars: ✭ 107 (-23.57%)
Mutual labels:  selenium, selenium-webdriver
Moon
An efficient Selenium protocol implementation running everything in Kubernetes or Openshift
Stars: ✭ 116 (-17.14%)
Mutual labels:  selenium, selenium-webdriver
Cfselenium
A native Selenium WebDriver binding for ColdFusion
Stars: ✭ 77 (-45%)
Mutual labels:  selenium, selenium-webdriver
Cabbie
WebDriver for the masses
Stars: ✭ 70 (-50%)
Mutual labels:  selenium, selenium-webdriver
Whatsappbot
Send messages to any person in any time how much you want.
Stars: ✭ 104 (-25.71%)
Mutual labels:  selenium, selenium-webdriver
Pyleniumio
Bring the best of Selenium and Cypress into a single Python package
Stars: ✭ 61 (-56.43%)
Mutual labels:  selenium, selenium-webdriver
Selenium Cucumber Js
Browser automation framework written in pure JavaScript using official selenium-webdriver and cucumber-js
Stars: ✭ 108 (-22.86%)
Mutual labels:  test-automation, selenium-webdriver
Webdrivermanager
WebDriverManager (Copyright © 2015-2021) is a project created and maintained by Boni Garcia and licensed under the terms of the Apache 2.0 License.
Stars: ✭ 1,808 (+1191.43%)
Mutual labels:  selenium, selenium-webdriver
Marionette
Selenium alternative for Crystal. Browser manipulation without the Java overhead.
Stars: ✭ 119 (-15%)
Mutual labels:  selenium, selenium-webdriver
Java.webdriver
Browser test automation using Selenium WebDriver in Java
Stars: ✭ 135 (-3.57%)
Mutual labels:  selenium, selenium-webdriver
Horn3t
Powerful Visual Subdomain Enumeration at the Click of a Mouse
Stars: ✭ 120 (-14.29%)
Mutual labels:  selenium, selenium-webdriver

=================== Selenium extensions

.. image:: https://img.shields.io/pypi/pyversions/selenium_extensions.svg :target: https://pypi.python.org/pypi/selenium_extensions :alt: Supported python versions

.. image:: https://img.shields.io/pypi/v/selenium_extensions.svg :target: https://pypi.python.org/pypi/selenium_extensions :alt: PyPI version

.. image:: https://readthedocs.org/projects/selenium_extensions/badge/?version=latest :target: https://selenium_extensions.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://pyup.io/repos/github/pythad/selenium_extensions/shield.svg :target: https://pyup.io/repos/github/pythad/selenium_extensions/ :alt: Updates

.. image:: https://img.shields.io/github/license/pythad/selenium_extensions.svg :target: https://pypi.python.org/pypi/selenium_extensions :alt: License

Tools that will make writing tests, bots and scrapers using Selenium much easier


Installation


.. code-block:: console

$ pip install selenium_extensions

Example


Creating a headless Selenium bot and filling in a form is as easy as

.. code-block:: python

from selenium.webdriver.common.by import By
from selenium_extensions.core import SeleniumDriver


class MyBot(SeleniumDriver):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def goto_google(self):
        self.driver.get('https://google.com')
        searchbox_locator = (By.ID, 'lst-ib')
        self.wait_for_element_to_be_present(searchbox_locator)
        self.populate_text_field(searchbox_locator, 'query')


bot = MyBot(browser='chrome', executable_path='/usr/bin/chromedriver', run_headless=True)
bot.goto_google()
bot.shut_down()

Or do you want to wait until you will be redirected from login page? selenium_extensions makes it easy

.. code-block:: python

from selenium_extensions.helpers import wait_for_function_truth
from selenium_extensions.helpers import element_has_gone_stale


...
login_btn = self.driver.find_element_by_css_selector(
    "button.submit.EdgeButton.EdgeButton--primary")
login_btn.click()

# Wait to be redirected
wait_for_function_truth(element_has_gone_stale, login_btn)

Features


  • selenium_extensions.drivers.chrome_driver - extended Chrome webdriver class with built-in support for headless mode and rendering webpages without media.
  • selenium_extensions.drivers.firefox_driver - extended Firefox webdriver class with built-in support for headless mode and rendering webpages without media.
  • selenium_extensions.core.scroll - scrolls the current page or the Selenium WebElement if one is provided.
  • selenium_extensions.core.element_is_present - shortcut to check if the element is present on the current page.
  • selenium_extensions.core.wait_for_element_to_be_clickable - waits for element described by element_locator to be clickable.
  • selenium_extensions.helpers.element_has_gone_stale - checks if element has gone stale.
  • selenium_extensions.core.SeleniumDriver - class with all necessary tools in one place. User's classes should inherit from this class and initialize it using super(). After this their class will have driver attribute and all the methods ready to go.

and more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].