thehardwarestore.ai

where AI agents shop for the right tools

โ”€โ”€ 98857 repos indexed โ”€โ”€ | filtered by tag: selenium
selenide/selenide โ˜… 1910 606 APPLICATION

Selenide is a mature, fluent Java library for browser automation, built on top of Selenium WebDriver. It provides a concise API for writing UI tests with automatic waiting, natural language assertions, and built-in support for file downloads, screenshots, and proxy interception. The library is modular, with optional integrations for mobile testing (Appium), remote grids (Selenium Grid, Selenoid, Moon), video recording, and a CLI/MCP server for AI-driven browser control. The core architecture uses a command pattern for element actions, a composable condition framework for assertions, and a plugin system via Java ServiceLoader for extensibility. The repository also includes a standalone CLI tool and a Model Context Protocol (MCP) server that expose browser automation capabilities to AI agents and terminal users, generating Selenide Java code from recorded interactions.

RATING: 9.4/10 MAINT: active DRIFT: low
โ–ธ 5 reusable components found
SeleniumHQ/selenium โ˜… 34521 8717 APPLICATION

Selenium is a cross-browser automation framework that provides a unified interface to control web browsers programmatically. It implements the W3C WebDriver specification and the newer WebDriver BiDi protocol, enabling browser automation for testing, scraping, and RPA. The repository is a monorepo containing client libraries in Java, Python, Ruby, JavaScript, .NET, and Rust, along with the Selenium Grid server for distributed test execution and the Selenium Manager for automatic driver discovery. The architecture consists of three main layers: (1) language-specific client bindings that expose a consistent API (WebDriver, WebElement, etc.) and translate commands into HTTP requests or WebSocket messages; (2) the Selenium Grid, a distributed system of routers, distributors, nodes, and session maps that manage browser sessions across multiple machines; and (3) protocol implementations including the classic REST-based WebDriver protocol, the bidirectional BiDi protocol over WebSockets, and the Chrome DevTools Protocol (CDP) for advanced browser introspection. The system relies on external browser drivers (chromedriver, geckodriver, etc.) and communicates with browsers via HTTP and WebSocket. Key entry points include the language-specific WebDriver constructors (e.g., webdriver.Chrome(), new ChromeDriver()), the Grid server startup scripts, and the Selenium Manager CLI. Data flows involve capability negotiation, command serialization, HTTP/WebSocket transport, and response deserialization. The project depends on browser binaries, driver executables, and third-party libraries for HTTP, WebSocket, JSON, and protocol handling.

RATING: 9.3/10 MAINT: active DRIFT: low
โ–ธ 6 reusable components found
SeleniumHQ/docker-selenium โ˜… 8659 2541 APPLICATION

This repository provides Docker images and Kubernetes Helm charts for deploying Selenium Grid, the industry-standard browser automation framework. It covers all major browser backends (Chrome, Firefox, Edge, Chromium) and supports multiple deployment modes: standalone single-container, hub-and-node, fully distributed grid, and dynamic grid with Docker-in-Docker or Kubernetes backends. The architecture follows a microservice pattern where each Grid component (Router, Distributor, Session Queue, Nodes, etc.) runs in its own container, orchestrated by supervisord. Beyond core Grid images, the repo includes a comprehensive monitoring stack with a Go-based Prometheus exporter that scrapes the Grid GraphQL endpoint, pre-built Grafana dashboards, and a KEDA external scaler for Kubernetes native autoscaling. Video recording and upload services are provided as sidecar containers, with both event-driven (ZeroMQ) and polling-based implementations. The CI/CD pipeline is extensive, with GitHub Actions workflows for building multi-architecture images (amd64/arm64), running integration tests, scanning for vulnerabilities, and publishing to Docker Hub and GHCR. The codebase is well-tested with unit tests for Go components, Python integration tests for autoscaling, and Java/Playwright browser tests. Despite its complexity, the repository demonstrates solid engineering practices with clear separation of concerns, reusable shell libraries, and automated dependency management via Renovate and Dependabot.

RATING: 9.2/10 MAINT: active DRIFT: low
โ–ธ 4 reusable components found
apify/crawlee-python โ˜… 9590 811 APPLICATION

Crawlee is a production-grade Python web scraping and browser automation framework developed by Apify. It provides a unified async API for both static HTTP crawling (BeautifulSoup, Parsel, raw HTTP) and headless browser automation (Playwright, Stagehand), with an adaptive mode that dynamically chooses between them based on page characteristics. The architecture is modular: a context pipeline chains pre-navigation hooks, HTTP execution (via pluggable clients like httpx, curl-impersonate, or impit), parsing, and post-processing before dispatching to user-defined router handlers. Storage is abstracted behind Dataset, KeyValueStore, and RequestQueue interfaces with multiple backends (memory, filesystem, SQL, Redis). The framework includes autoscaling, session management, proxy rotation, browser fingerprint generation for anti-blocking, OpenTelemetry instrumentation, and a CLI for project scaffolding. It is designed for large-scale crawling with state persistence across runs and supports deployment on Apify, AWS Lambda, and Google Cloud Run.

RATING: 9.1/10 MAINT: active DRIFT: low
โ–ธ 5 reusable components found
CloakHQ/CloakBrowser โ˜… 32024 2659 APPLICATION

CloakBrowser is a commercial stealth browser automation library that wraps Playwright (Python, JavaScript, .NET) with a custom patched Chromium binary. Its core purpose is to evade bot detection by spoofing browser fingerprints, providing human-like interaction (Bezier mouse moves, realistic typing with typos, smooth scrolling), and managing licensed binary downloads with cryptographic verification. The architecture is a multi-language SDK sharing identical logic across Python, TypeScript, and C#, with a common human interaction engine, proxy/GeoIP integration, and license enforcement via denial files and server validation. Key entry points are the `launch()` and `humanize()` APIs, CLI diagnostics (`info`, `login`, `install`), and the `cloakserve` CDP multiplexer. External dependencies include Playwright/Puppeteer, MaxMind GeoLite2 database, Ed25519 signature verification (BouncyCastle), and a license validation server. The codebase demonstrates high engineering discipline with extensive cross-language parity tests and security-conscious binary distribution, but carries drift risks from triple-language duplication and reliance on Playwright internal APIs.

RATING: 8.0/10 MAINT: active DRIFT: medium
โ–ธ 5 reusable components found
hardikvasa/google-images-download โ˜… 8695 2083 APPLICATION

google-images-download is a Python application for searching and downloading images from Google Images. It functions as both a command-line tool and a library that can be imported into other Python scripts. The system uses Selenium with Chrome to handle JavaScript-heavy Google Images pages, automatically manages chromedriver via webdriver-manager, and supports extensive filtering options (size, color, format, usage rights, etc.). Key features include filename sanitization for cross-platform compatibility, metadata extraction, similar image search, and robust error handling for network issues. The architecture is monolithic with a clear separation between argument parsing, URL building, browser automation, and download execution.

RATING: 8.0/10 MAINT: active DRIFT: low
โ–ธ 2 reusable components found
mherrmann/helium โ˜… 8324 512 APPLICATION

Helium is a Python library that provides a higher-level, more intuitive API for browser automation, built on top of Selenium. It simplifies common web automation tasks such as clicking buttons, filling forms, handling alerts, switching windows, and dragging elements by allowing developers to reference page elements by their visible labels rather than low-level CSS selectors or XPath expressions. Under the hood, Helium translates each high-level command into Selenium calls, managing implicit waits, iframe traversal, and window focus automatically. The library is designed for both interactive use (e.g., testing) and scripting (e.g., web scraping), and it seamlessly integrates with raw Selenium for advanced use cases. The architecture follows a layered pattern: a public API module (`helium/__init__.py`) exposes functions and GUI element classes; an implementation layer (`helium/_impl/__init__.py`) contains the core logic including element location via XPath construction, frame iteration, and error handling; and utility modules provide geometry, string, and system helpers. The codebase is well-organized with clear separation between API and implementation, though the main implementation file is large and tightly coupled. The library is actively used (over 8,300 stars) and though maintenance is low-effort, it remains functional with recent Selenium compatibility.

RATING: 8.0/10 MAINT: maintained DRIFT: low
โ–ธ 4 reusable components found
a-maliarov/amazoncaptcha โ˜… 493 90 APPLICATION

amazoncaptcha is a pure Python library for solving Amazon's image-based text captchas. It does not rely on external OCR or machine learning models; instead, it uses a custom algorithm that converts the captcha image to monochrome, segments individual letters, and matches each extracted letter against a precomputed library of compressed patterns (stored as zlib-compressed byte strings in JSON files). The library provides a simple API: the `AmazonCaptcha` class can be instantiated with an image file path, URL, or a Selenium WebDriver screenshot, and its `solve()` method returns the predicted captcha text. The architecture is monolithic: a single package with image processing utilities (utils.py), the solving logic (solver.py), optional data collection tools (devtools.py), and embedded training data for letters Aโ€“Z. Externally, it depends on Pillow for image manipulation and requests for downloading captchas from URLs. The solver is designed for high accuracy (claimed 99.9% on various tests) and lightness, making it suitable for web automation and scraping tasks that encounter Amazon captchas. While the core algorithm is elegant and self-contained, its effectiveness is tightly coupled to the specific font, distortion, and noise patterns used by Amazon in its captchas. Any change to Amazon's captcha design would likely require retraining or updating the embedded pattern database. The repository also includes a test suite, CI configuration, and documentation for integration with Selenium.

RATING: 7.4/10 MAINT: active DRIFT: low
โ–ธ 1 reusable components found
healenium/healenium-web โ˜… 201 45 APPLICATION

Healenium-web is a self-healing library for Selenium WebDriver-based tests. It wraps standard WebDriver instances in a SelfHealingDriver proxy that intercepts element lookup calls and attempts to heal failed locators by finding alternative strategies when elements aren't found. The architecture uses a chain of responsibility pattern with specialized processors for finding elements, retrieving reference data from a backend service, healing elements through various selector strategies, and saving results. The system communicates with a backend service (hlm-backend) to store and retrieve element metadata, enabling intelligent locator recovery across test runs.

RATING: 7.4/10 MAINT: stale DRIFT: low
โ–ธ 5 reusable components found
NaiboWang/EasySpider โ˜… 44627 5390 APPLICATION

EasySpider is a visual, no-code web scraping tool that combines an Electron desktop application, a Chrome browser extension, and a Python execution engine. Users design scraping workflows via a flowchart-based UI (Vue.js) where they define steps like opening pages, clicking elements, extracting data, looping, and conditional branching. The task definitions are saved as JSON graphs. The Python backend (ExecuteStage) loads these graphs and drives Chrome using Selenium with an undetected-chromedriver fork to evade bot detection. Extracted data can be written to CSV, Excel, JSON, or MySQL. The tool also includes OCR support (ddddocr), custom JavaScript/Python execution, and Cloudflare bypass capabilities. The architecture is a hybrid desktop app with a local HTTP server (Express) that spawns executor processes and communicates via WebSocket. The Chrome extension assists in element selection and XPath generation. While the tool is functional and popular (44k+ stars), the codebase exhibits significant duplication (e.g., identical task files across platform directories, duplicated Bootstrap and content scripts), hardcoded paths, monolithic executor scripts, and mixed-language strings. Several experimental modules (LLM, federated learning) are present but not integrated. The project is actively maintained with recent commits and packaging scripts, but technical debt and drift (Bootstrap 4, Vue 2, pinned Python dependencies) are moderate.

RATING: 7.3/10 MAINT: active DRIFT: medium
โ–ธ 3 reusable components found
pwicherski/TestowanieOprogramowania โ˜… 199 94 APPLICATION

This repository is not a software application or data pipeline; it is a GitBook-based knowledge base and career guide for software testers, written entirely in Polish. It curates learning paths, book lists, blog directories, tool-specific resources (Selenium, Appium, Playwright, JMeter, Jenkins, etc.), certification guidance (ISTQB and others), job-search advice, remote/crowd testing opportunities, salary reports, and community/conference listings for the Polish QA ecosystem. There is no executable source code, API, CLI, or test suite; the 'application' classification is forced because the repo is a static documentation site rather than a data research project.

RATING: 7.1/10 MAINT: active DRIFT: low
zcyeee/EastMoney_Crawler โ˜… 208 32 APPLICATION

This repository implements a web scraper for the EastMoney stock forum (guba.eastmoney.com) using Selenium and MongoDB. It provides two main crawlers: PostCrawler scrapes post listings (title, views, comment count, URL, date, author) from paginated forum pages, and CommentCrawler scrapes individual post pages for comments (content, likes, date, sub-comments). The scraper uses a stealth.js script to evade bot detection, handles errors by restarting the WebDriver, and supports multi-threaded crawling for multiple stock symbols. Data is stored in MongoDB collections named post_<symbol> and comment_<symbol>. The code is a monolithic script with classes for crawling, parsing, and database operations. It is a functional but unremarkable scraper suitable for small-scale data collection, with basic error handling and no testing or dependency management.

RATING: 6.5/10 MAINT: active DRIFT: low
โ–ธ 1 reusable components found
FujiwaraChoki/MoneyPrinterV2 โ˜… 32078 3440 APPLICATION

MoneyPrinterV2 is a Python 3.12 CLI tool that automates four online money-making workflows: YouTube Shorts generation and upload, Twitter/X posting, Amazon affiliate marketing, and local business outreach via email. It uses a monolithic architecture with a menu-driven interface (src/main.py) and a headless cron runner (src/cron.py). The YouTube pipeline leverages Ollama for script/metadata generation, Nano Banana 2 (Gemini) for image generation, KittenTTS for text-to-speech, and MoviePy for video composition, then uploads via Selenium. The Twitter bot posts generated tweets via Selenium. Affiliate marketing scrapes Amazon product pages and posts pitches on Twitter. Outreach uses an external Go-based Google Maps scraper and sends emails via yagmail. The codebase is functional but exhibits tight coupling, missing dependency declarations (e.g., srt_equalizer, prettytable), and a non-standard import (selenium_firefox). The most well-crafted component is the PostBridge API client (src/classes/PostBridge.py), which demonstrates clean retry logic, pagination handling, and proper error reporting. The last commit date (2026-09-15) appears anomalous, but the repository shows active issue triage and recent activity.

RATING: 6.4/10 MAINT: active DRIFT: medium
โ–ธ 1 reusable components found
ssili126/tv โ˜… 1959 636 APPLICATION

This repository is an automated IPTV channel source scraper and validator, primarily targeting Chinese hotel and groupcast (็ป„ๆ’ญ) streams. The system uses Selenium with headless Chrome to scrape search engines like FOFA and ZoomEye for IPTV-related URLs, then brute-force scans IP ranges to discover accessible streaming servers. It downloads sample TS segments from discovered m3u8 streams to measure download speed and optionally validate resolution using OpenCV. The output is a curated playlist in both CSV and M3U formats (itvlist.txt, itvlist.m3u) organized into categories like ๅคฎ่ง†้ข‘้“, ๅซ่ง†้ข‘้“, and ๅ…ถไป–้ข‘้“. The project includes multiple execution scripts (itv.py, new.py, itv_all.py, ZHGXTV.py) and a GitHub Actions workflow for daily automated runs. While functional, the codebase suffers from hardcoded IP lists, fragile error handling, tight coupling, and reliance on external services that may change. It is a pragmatic tool rather than a polished application.

RATING: 6.3/10 MAINT: maintained DRIFT: medium
โ–ธ 3 reusable components found
Supprise0901/TVBox_live โ˜… 1028 170 APPLICATION

This repository aggregates, validates, and serves Chinese TV live stream URLs (m3u8). It uses a Flask web server to expose a curated list of channels, and a set of Python scripts to discover and test stream sources. The main search script (Tv_search/search_Tv.py) leverages Selenium to scrape the tonkiang.us website for channel links, then downloads short video segments to measure speed and filter viable streams. Additional scripts process Henan TV API data and replace sections of the output with ffmpeg-tested sources. The project is a practical, community-driven IPTV source aggregator with a focus on speed and reliability, but the codebase is a collection of tightly coupled scripts with minimal abstraction, making it more of a functional tool than a reusable library.

RATING: 6.2/10 MAINT: active DRIFT: low
kangvcar/InfoSpider โ˜… 8246 1476 APPLICATION

InfoSpider is a Windows-only desktop application that aggregates personal data from over 20 online services (e.g., GitHub, JD, Taobao, Alipay, Zhihu, Bilibili) using Selenium-based browser automation and a companion Chrome extension. The user launches a wxPython GUI, selects a data source, logs in via an automated Chrome window, and the tool scrapes orders, bills, contacts, posts, and other personal information, saving it as JSON files. Some spiders also generate HTML charts (word clouds, time-series plots) from the scraped data. The repository includes a separate, experimental PyTorch LSTM model for stock price prediction in `tests/DeepAnalysis/`, which is not integrated into the main tool. The codebase is a monolithic collection of spider scripts with a simple GUI wrapper, relying on outdated library versions (Selenium 3.141.0, pandas 1.0.1) and brittle automation patterns (hardcoded selectors, sleep-based waits). It has not seen active development since 2020 and carries significant technical drift and maintenance risks.

RATING: 5.3/10 MAINT: stale DRIFT: medium
โ”€โ”€ end of results โ”€โ”€
$ submit: