全球动态代理 · 静态住宅代理 · 极高质量 · 包月不限量 · 学员低价 · 联系如意进行免费测试 · 欢迎公司及学员采购 · 另有任何海外数据采集需求,随时联系 · 商务合作微信:Charleval
Automation / 安装
开始使用

RuyiPage 安装

这一页先解决安装、验证和启动前准备,然后再引导你按普通 Firefox、指纹浏览器、隐私模式或接管浏览器四条路径继续走。

运行环境

项目要求
操作系统Windows、Linux、macOS
Python>= 3.9
浏览器Firefox
协议路线WebDriver BiDi

安装与升级

bash 安装
pip install ruyiPage
bash 验证
python -c "import ruyipage; print(ruyipage.__version__)"
bash 升级
pip install ruyiPage --upgrade

推荐使用说明

在高风控站点场景下,推荐使用已处理 Firefox 指纹与 webdriver 标志的浏览器版本,以获得更稳定的实际效果。
可参考:https://github.com/LoseNine/firefox-fingerprintBrowser。这里是推荐使用,不是 RuyiPage 的强依赖。

安装后怎么选启动方式

普通启动

先跑 01_quickstart.py 或 quickstart_bing_search.py,最快看到成功结果。

隐私模式

适合一次性会话、减少历史痕迹和验证私密浏览流程。

指纹浏览器

适合高风控站点,可结合 fpfile、时区、语言和代理配置。

接管浏览器

适合浏览器已被手工打开,或调试端口并不固定的场景。

如果你要让 AI 一键使用

推荐同时接入官方 skill 仓库:https://github.com/LoseNine/ruyipage-skill。它为 OpenCode、Claude、Cursor、Windsurf、Cline 等工具准备了统一知识入口。
如果你的 AI 工具有专门适配入口,可直接读取 ruyipage-skill 仓库中的 vendor/ 对应文件;没有专门适配时,可从 AGENTS.md、SKILL.md 和 references/index.md 开始。

相关示例源码

4 个示例 ▶ 点击展开

一步上手:最少代码完成访问与读取

examples/01_quickstart.py

最短可运行的 hello-world 级别示例,适合验证环境和建立第一层心智模型。

GitHub 仓库 查看仓库源码 launchpage.getpage.waitpage.titlepage.eleele.textpage.quit
  • 用 launch() 启动 Firefox
  • 访问网页并等待页面稳定
  • 读取标题和 H1 文本
  • 演示最短退出流程

源码文件:app/content/ruyipage_examples/01_quickstart.py · 仓库:01_quickstart.py

python 注释版
# =============================
# RuyiPage 示例注释版
# 标题: 一步上手:最少代码完成访问与读取
# 说明: 最短可运行的 hello-world 级别示例,适合验证环境和建立第一层心智模型。
# 你会学到:
#   1. 用 launch() 启动 Firefox
#   2. 访问网页并等待页面稳定
#   3. 读取标题和 H1 文本
#   4. 演示最短退出流程
# 相关 API: launch, page.get, page.wait, page.title, page.ele, ele.text, page.quit
# =============================

# -*- coding: utf-8 -*-
"""
示例01: 一步上手

面向新手:最少代码完成一次页面访问与元素交互。
"""

import io
import sys


if sys.platform == "win32":
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
    sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding="utf-8")


from ruyipage import launch


def quickstart_demo():
    print("=" * 60)
    print("示例01: 一步上手")
    print("=" * 60)

    page = launch(headless=False)

    try:
        page.get("https://example.com")
        page.wait(1)
        print(f"标题: {page.title}")

        h1 = page.ele("tag:h1")
        print(f"H1文本: {h1.text}")

        print("\n✓ 快速上手完成")
    finally:
        page.wait(1)
        page.quit()


if __name__ == "__main__":
    quickstart_demo()

隐私模式快速开始

quickstart_private_mode.py

展示 Firefox 私密浏览模式的两种启动方式,以及它与临时 profile 的区别。

GitHub 仓库 查看仓库源码 FirefoxOptionsopts.private_modeFirefoxPagelaunch(private=True)page.getpage.quit
  • 通过 FirefoxOptions 开启私密浏览
  • 通过 launch(private=True) 快速启动
  • 理解私密模式与临时用户目录的区别
  • 验证私密模式下的页面访问流程

指纹浏览器快速开始

quickstart_fingerprint_browser.py

演示如何把 Firefox 指纹浏览器、指纹文件、地理位置、语言和请求头一起接入 RuyiPage。

GitHub 仓库 查看仓库源码 FirefoxOptionsopts.set_browser_pathopts.set_fpfilepage.emulation.set_geolocationpage.emulation.set_timezonepage.emulation.set_localepage.network.set_extra_headerspage.emulation.set_screen_size
  • 加载 Firefox 指纹浏览器可执行文件
  • 通过 fpfile 复用指纹配置
  • 叠加地理位置、时区和语言环境
  • 为请求增加语言请求头
  • 访问指纹检测站点验证效果

自动探测并接管已打开浏览器

examples/39_attach_exist_browser.py

适合 Firefox、ADS、FlowerBrowser 等已打开实例的自动探测接管场景。

GitHub 仓库 查看仓库源码 auto_attach_exist_browser_by_processpage.browser.addresspage.titlepage.url
  • 按进程特征自动探测真实调试端口
  • 接管已打开的 Firefox 或指纹浏览器
  • 自动切到最新标签页
  • 复用已有人机操作会话