Skip to content

脚本基础

权限限制

本页面仅对开发者权限用户可见。

了解 Orina 自动化脚本的基本结构和组成。

脚本文件结构

每个脚本文件包含以下部分:

javascript
// =====================================================
// 文件头注释(必需)
// =====================================================
// 脚本名称: [脚本名称]
// 入口URL: [默认入口URL]
// 版本: [当前版本]
// 作者: [作者信息]
// effixwork-generated-by: orina-designer
// =====================================================

// 导入部分
import { chromium } from 'playwright';
import someModule from '@modules/some-module';

// 主函数
export default async function ({ page, context, params }) {
  // 自动化逻辑
}

文件头注释

文件头注释是必需的,包含:

字段必需说明
脚本名称显示在运行器中的名称
入口URL默认运行的起始页面
版本当前版本号
作者作者信息
effixwork-generated-by标识 Orina 生成

主函数签名

javascript
export default async function (runtime) {
  // runtime 包含:
  // - page: Playwright Page 对象
  // - context: Playwright BrowserContext
  // - params: 用户配置的参数
  // - browser: Browser 对象
  // - log: 日志函数
}

runtime 对象

属性类型说明
pagePage当前页面对象
contextBrowserContext浏览器上下文
paramsObject脚本参数
browserBrowser浏览器实例
logFunction日志输出函数

参数系统

参数类型

类型说明示例
text文本输入用户名、URL
number数字输入数量、延迟时间
textarea多行文本JSON 数据
select下拉选择平台选择
radio单选按钮模式选择
checkbox复选框功能开关
jsonJSON 编辑器复杂配置

使用参数

javascript
export default async function ({ page, params }) {
  // params 包含用户配置的所有参数
  
  const username = params.username;
  const platform = params.platform; // select 类型
  const features = params.features; // checkbox 类型,数组
  
  await page.fill('#username', username);
}

脚本状态

脚本执行过程中有不同状态:

状态说明
idle空闲,未运行
running正在执行
paused已暂停
stopping正在停止
success执行成功
error执行出错

错误处理

javascript
export default async function ({ page, params, log }) {
  try {
    await page.click('#submit');
    log('info', '点击提交成功');
  } catch (error) {
    log('error', `点击失败: ${error.message}`);
    // 可以选择继续或抛出错误
  }
}

日志输出

javascript
export default async function ({ page, log }) {
  log('info', '开始执行任务');
  log('debug', '详细信息,调试时可见');
  log('warn', '警告信息');
  log('error', '错误信息');
  
  // 或使用 console.log
  console.log('标准输出');
}

下一步

Orina Browser Documentation