selenium-respectful - Minimalist Selenium WebDriver wrapper to work within rate limits of any amount of websites simultaneously

  •        4

The library auto-detects the presence of a YAML file named selenium-respectful.config.yml at the root of your project and will attempt to load configuration values from it. In your quest to use selenium-respectful, you should only ever have to bother with one class: RespectfulWebdriver. Instance this class and you can perform all important operations.

https://github.com/SerpentAI/selenium-respectful

Tags
Implementation
License
Platform

   




Related Projects

requests-respectful - Minimalist Requests wrapper to work within rate limits of any amount of services simultaneously

  •    Python

If you know Python, you know Requests. Requests is love. Requests is life. Depending on your use cases, you may come across scenarios where you need to use Requests a lot. Services you consume may have rate-limiting policies in place or you may just happen to be in a good mood and feel like being a good Netizen. This is where requests-respectful can come in handy. The library auto-detects the presence of a YAML file named requests-respectful.config.yml at the root of your project and will attempt to load configuration values from it.

Selenium - Web app testing tool

  •    Java

Selenium is a suite of tools such as Selenium IDE, Selenium Remote Control and Selenium Grid to test the web application. Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. It supports record and playback.

docker-selenium - Selenium in Docker with Chrome & Firefox plus video recording support

  •    Shell

The purpose of this project is to have Selenium running as simple and as fast as possible. This purpose is augmented by Zalenium a project which uses this one to provide docker-selenium(s) on-demand.

docker-selenium - Docker images for Selenium Grid Server (Standalone, Hub, and Nodes).

  •    Dockerfile

The project is made possible by volunteer contributors who have put in thousands of hours of their own time, and made the source code freely available under the Apache License 2.0. ❗️ When executing docker run for an image with Chrome or Firefox please either mount -v /dev/shm:/dev/shm or use the flag --shm-size=2g to use the host's shared memory.

redis-cell - A Redis module that provides rate limiting in Redis as a single command.

  •    Rust

A Redis module that provides rate limiting in Redis as a single command. Implements the fairly sophisticated generic cell rate algorithm (GCRA) which provides a rolling time window and doesn't depend on a background drip process. The primitives exposed by Redis are perfect for doing work around rate limiting, but because it's not built in, it's very common for companies and organizations to implement their own rate limiting logic on top of Redis using a mixture of basic commands and Lua scripts (I've seen this at both Heroku and Stripe for example). This can often result in naive implementations that take a few tries to get right. The directive of redis-cell is to provide a language-agnostic rate limiter that's easily pluggable into many cloud architectures.


selenoid - Selenium Hub successor running browsers within containers

  •    Go

Selenoid is a powerful implementation of Selenium hub using Docker containers to launch browsers. New images are added right after official releases. You can create your custom images with browsers.

Selunit - Selenium + Continuous Integration

  •    Java

Selunit combines comprehensively Selenium tests in Selenese HTML format (default Selenium IDE format) with Continuous Integration. It provides a flexible Maven plugin for executing Selenese suites in batch and outputs test results in JUnit format. This allows running, controlling and analyzing Selenium tests and reports within all modern CI servers e.g. Hudson or Jenkins without additional tools.

wd - A node.js client for webdriver/selenium 2.

  •    Javascript

This library is designed to be a maleable implementation of the webdriver protocol in Node, exposing functionality via a number of programming paradigms. If you are looking for a more opinionated library, you might find webdriver.io interesting. Note: WD.js does not start the selenium server. You may use the selenium-standalone package to install and start a selenium server.

Lua Selenium Driver

  •    Lua

Lua Selenium Driver is a Selenium 1 (Selenium RC) client library that provide a programming interface (API), i.e., a set of functions, which run Selenium commands. Within each interface, there is a programming function that supports each Selenese command.

AspNetCoreRateLimit - ASP.NET Core rate limiting middleware

  •    CSharp

AspNetCoreRateLimit is an ASP.NET Core rate limiting solution designed to control the rate of requests that clients can make to a Web API or MVC app based on IP address or client ID. The AspNetCoreRateLimit package contains an IpRateLimitMiddleware and a ClientRateLimitMiddleware, with each middleware you can set multiple limits for different scenarios like allowing an IP or Client to make a maximum number of calls in a time interval like per second, 15 minutes, etc. You can define these limits to address all requests made to an API or you can scope the limits to each API URL or HTTP verb and path.

throttled - Package throttled implements rate limiting access to resources such as HTTP endpoints.

  •    Go

Package throttled implements rate limiting using the generic cell rate algorithm to limit access to resources such as HTTP endpoints. See throttled/gcra for a list of other projects related to rate limiting and GCRA.

bottleneck - Task scheduler and rate limiter

  •    Javascript

Bottleneck is a lightweight and efficient Task Scheduler and Rate Limiter for Node.js and the browser. When dealing with services with limited resources, it's important to ensure that they don't become overloaded.Bottleneck is an easy solution as it does not add much complexity to your code.

node-rate-limiter - A generic rate limiter for node

  •    Javascript

Provides a generic rate limiter for node.js. Useful for API clients, web crawling, or other tasks that need to be throttled. Two classes are exposed, RateLimiter and TokenBucket. TokenBucket provides a lower level interface to rate limiting with a configurable burst rate and drip rate. RateLimiter sits on top of the token bucket and adds a restriction on the maximum number of tokens that can be removed each interval to comply with common API restrictions like "150 requests per hour maximum". A synchronous method, tryRemoveTokens(), is available in both RateLimiter and TokenBucket. This will return immediately with a boolean value indicating if the token removal was successful.

BlueDuck Selenium Remote Control

  •    AutoIt

Simplifies management of Selenium Remote Control. Install and manage the Selenium server in just a few steps. Allows you to modify graphically selenium server startup options

Selenium Toolkit for .NET

  •    

Selenium Toolkit for .NET simplifies the setup and use of the popular functional testing framework Selenium. Simply add a reference and go!

Hermes - Selenium For Humans

  •    Java

Hermes provides a powerful yet usable automation solution, making it the most popular Selenium framework in the world, with over 4,000 downloads. Create human readable, machine executable Selenese style tests in Excel. The world's first automation framework fully integrated with Selenium IDE, RC and GRID; yet built for humans. Be up and running using a feature rich Selenium RC framework in minutes. Hermes comes with advanced reporting, analysis, debugging and enterprise level Java developm

phpunit-selenium - Selenium RC integration for PHPUnit

  •    PHP

This package contains a Selenium2TestCase class that can be used to run end-to-end tests against Selenium 2. Use Composer and run composer require --dev phpunit/phpunit-selenium.

requestium - Integration layer between Requests and Selenium for automation of web actions.

  •    Python

Requestium is a Python library that merges the power of Requests, Selenium, and Parsel into a single integrated tool for automatizing web actions. The library was created for writing web automation scripts that are written using mostly Requests but that are able to seamlessly switch to Selenium for the JavaScript heavy parts of the website, while maintaining the session.