browser-auto-download

Browser-automated file download with enhanced features. Auto-detects platform (Windows/macOS/Linux, 64/32-bit, ARM/Intel), handles multi-step navigation (homepage to platform-specific pages), captures auto-downloads triggered on page load, and falls back to button clicking when needed. Ideal for complex download flows where curl/wget fail due to client-side rendering, automatic downloads, or multi-page navigation. Features page scrolling for lazy content, extended wait times, and Golang support.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "browser-auto-download" with this command: npx skills add Aaronxx/browser-auto-download

Browser Auto Download v4.1.0 (Enhanced)

Download files from dynamic webpages with intelligent detection and multi-step navigation.

Key Features

  • Auto-download capture: Detects downloads triggered automatically on page load
  • Multi-step navigation: Finds and navigates to platform-specific pages (PC/Desktop versions)
  • Platform auto-detection: Windows x64/ARM64, macOS Intel/Apple Silicon, Linux
  • Event listening: Captures all download events without requiring button clicks
  • Smart fallback: Tries multiple strategies (auto-download, navigation, clicking)

When to Use

Use this skill for:

  • Auto-download sites: Downloads start automatically when page loads
  • Multi-step flows: Homepage - click "PC version" - download page
  • Dynamic content: Download links generated via JavaScript
  • Interactive downloads: Requires clicking buttons or navigating UI

NOT for: Direct file URLs (use curl/wget instead)

Quick Start

Option 1: Automatic (Recommended)

python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://example.com/download"

The script will:

  1. Check for auto-downloads on page load
  2. Look for platform-specific page links (PC/Desktop version)
  3. Navigate if needed
  4. Try clicking download buttons as fallback

Option 2: Built-in Shortcuts

# WeChat DevTools
python skills/browser-auto-download/scripts/auto_download.py --wechat

# Meitu Xiuxiu
python skills/browser-auto-download/scripts/auto_download.py --meitu

Option 3: Python Module

from skills.browser-auto-download.scripts.auto_download import auto_download

result = auto_download(
    url="https://example.com/download",
    auto_select=True,   # Platform detection
    auto_navigate=True  # Multi-step navigation
)

if result:
    print(f"Downloaded: {result['path']}")

How It Works

Three-Stage Strategy

Stage 1: Auto-Download Detection

Page loads - Check for downloads - Success?
    Yes:                    No:
    Save file               Go to Stage 2

Stage 2: Multi-Step Navigation

Look for "PC/Desktop" link - Navigate - Check downloads - Success?
    Yes:                        No:
    Save file                  Go to Stage 3

Stage 3: Button Clicking

Try multiple selectors - Click - Wait for download - Save

Platform-Specific Page Detection

Automatically finds links like:

  • "meitu for PC" - pc.meitu.com
  • "Desktop version" - desktop.example.com
  • "Windows Download" - windows.example.com

Keywords: pc, desktop, windows, mac, download, 电脑, 桌面, 客户端

Examples

Auto-Download Sites (Best Case)

# Sites that trigger download on page load
python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://pc.meitu.com/en/pc?download=pc"

Multi-Step Navigation

# Homepage - PC version - Download
python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://xiuxiu.meitu.com/" \
  --auto-navigate  # Enable (default: True)

Manual Selector (Fallback)

# If auto-detection fails
python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://example.com/download" \
  --selector "button:has-text('Download for free')"

Disable Features

# Don't navigate to platform pages
python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://example.com" \
  --no-auto-navigate

# Don't detect platform
python skills/browser-auto-download/scripts/auto_download.py \
  --url "https://example.com" \
  --no-auto-select

Platform Detection

SystemArchitectureKeywords Used
WindowsAMD64/x86_64windows, win64, x64, 64-bit, pc
Windowsx86/i686windows, win32, x86, 32-bit, pc
macOSARM64 (M1/M2/M3)macos, arm64, apple silicon
macOSx86_64 (Intel)macos, x64, intel
Linuxx86_64linux, x64, amd64

Troubleshooting

Download not starting:

  • Use --headless (default: False) to observe the process
  • Check stderr for auto-download messages
  • Try --no-auto-navigate if navigation is causing issues
  • Use --selector to manually specify button

Wrong version downloaded:

  • Check platform detection in stderr output
  • Use --no-auto-select and manually specify --selector
  • Verify the site offers multiple versions

Navigation going to wrong page:

  • Disable with --no-auto-navigate
  • The site may not have platform-specific pages

File not saved:

  • Check write permissions in output directory
  • Ensure sufficient disk space
  • Wait for large files (up to 3 minutes)

Output Format

stderr (Progress)

Starting browser (visible)...
Opening: https://example.com
Checking for auto-downloads...
Checking for platform-specific page link...
Found platform page: https://pc.example.com
Navigating to platform page...
Download detected: software_v2.1.0_win64.exe
Saving: software_v2.1.0_win64.exe

SUCCESS!
File: C:\Users\User\Downloads\software_v2.1.0_win64.exe
Size: 231.9 MB

stdout (JSON result)

{
  "path": "C:\\Users\\User\\Downloads\\software_v2.1.0_win64.exe",
  "filename": "software_v2.1.0_win64.exe",
  "size_bytes": 243209941,
  "size_mb": 231.9,
  "platform": "Windows AMD64"
}

Real-World Examples

Meitu Xiuxiu (Multi-step + Auto-download)

from auto_download import quick_download_meitu

result = quick_download_meitu()
# Flow: Homepage - PC page link - Navigate - Auto-download

WeChat DevTools (Button click)

from auto_download import quick_download_wechat_devtools

result = quick_download_wechat_devtools()
# Flow: Homepage - Click "Stable Windows 64" - Download

Generic Software (Mixed)

result = auto_download(
    url="https://example.com/downloads",
    auto_select=True,    # Detect Windows 64-bit
    auto_navigate=True   # Find "Desktop version" link
)

Requirements

pip install playwright
playwright install chromium

Advanced Usage

Custom Platform Keywords

Modify get_system_preference() in the script to add custom keywords.

Integration with Scripts

import subprocess
import json

result = subprocess.run([
    'python', 'skills/browser-auto-download/scripts/auto_download.py',
    '--url', 'https://example.com/download'
], capture_output=True, text=True)

if result.returncode == 0:
    data = json.loads(result.stdout)
    print(f"Downloaded: {data['path']}")  # Use the file

Batch Downloads

urls = [
    "https://example1.com/download",
    "https://example2.com/download",
    "https://example3.com/download"
]

for url in urls:
    result = auto_download(url)
    if result:
        print(f"Success: {result['filename']}")

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Github Push

Secure GitHub push automation with auto SSH and remote config. Use when git push, automated push, or conflict handling needed.

Registry SourceRecently Updated
Coding

Scrapling Fetch

支持自动绕过 Cloudflare Turnstile 和微信公众号反爬机制的网页内容抓取工具,输出干净Markdown或纯文本。

Registry SourceRecently Updated
Coding

rapidapi

Template-driven RapidAPI client with auto-registered actions and a universal call entrypoint

Registry SourceRecently Updated