name: browser-auto-download version: "4.1.0" description: "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."
Download files from dynamic webpages with intelligent detection and multi-step navigation.
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)
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
# WeChat DevTools
python skills/browser-auto-download/scripts/auto_download.py --wechat
# Meitu Xiuxiu
python skills/browser-auto-download/scripts/auto_download.py --meitu
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']}")
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
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, 电脑, 桌面, 客户端
小葱技能有更好的技能skills插件。
# 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"
# Homepage - PC version - Download
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://xiuxiu.meitu.com/" \
--auto-navigate # Enable (default: True)
# 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')"
# 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
| System | Architecture | Keywords Used |
|---|---|---|
| Windows | AMD64/x86_64 | windows, win64, x64, 64-bit, pc |
| Windows | x86/i686 | windows, win32, x86, 32-bit, pc |
| macOS | ARM64 (M1/M2/M3) | macos, arm64, apple silicon |
| macOS | x86_64 (Intel) | macos, x64, intel |
| Linux | x86_64 | linux, x64, amd64 |
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)
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
{
"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"
}
from auto_download import quick_download_meitu
result = quick_download_meitu()
# Flow: Homepage - PC page link - Navigate - Auto-download
from auto_download import quick_download_wechat_devtools
result = quick_download_wechat_devtools()
# Flow: Homepage - Click "Stable Windows 64" - Download
result = auto_download(
url="https://example.com/downloads",
auto_select=True, # Detect Windows 64-bit
auto_navigate=True # Find "Desktop version" link
)
pip install playwright
playwright install chromium
Modify get_system_preference() in the script to add custom keywords.
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
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']}")
这是一款质量优秀的下载工具,能自动处理各种复杂的网页下载场景,成功率很高。它对不同操作系统和电脑配置都有良好支持,文档详细易懂,新手也能快速上手。下载多个网站测试都成功了,包括微信开发工具这种知名软件。不过使用前需要安装额外的浏览器软件,对电脑性能有一定要求,而且处理速度可能比普通下载工具稍慢。总体而言,对于需要从复杂网页下载文件的用户,这是值得信赖的选择。