告别繁琐,AI驱动你的浏览器自动化:Midscene.js深度体验

还在为编写枯燥乏味的UI自动化测试脚本而苦恼吗?还在被复杂的代码逻辑和维护成本折磨吗?现在,有一种全新的方式可以彻底改变你的自动化流程,那就是——Midscene.js!它是一款基于AI的浏览器自动化SDK,让你只需用自然语言就能轻松操控浏览器,进行断言和数据提取,从此告别繁琐的代码,拥抱高效的自动化!

Midscene.js 的核心在于其强大的AI驱动能力。它巧妙地将自然语言处理技术与浏览器自动化结合,实现了用更人性化、更直观的方式与浏览器互动。想象一下:你只需要用简单的语句描述你的操作步骤,Midscene.js就能帮你完成复杂的自动化任务,是不是很酷?

Midscene.js 主要功能一览:

  • 自然语言交互: 用自然语言描述操作步骤,让Midscene.js规划并控制用户界面。 不再需要记忆复杂的API函数和语法,只需要用你最熟悉的语言表达你的意图即可。 例如,你想搜索“耳机”,你只需要写await ai('在搜索框中输入“耳机”,然后按回车键'); 就能完成搜索操作。

  • 理解UI,以JSON格式返回数据: 你可以用自然语言描述期望的数据格式,Midscene.js会根据对页面的理解,以JSON格式返回你想要的数据。 这对于数据提取和验证非常有用。 例如,const items = await aiQuery("{itemTitle: string, price: Number}[], 查找列表中的商品及其价格"); 这段代码就能将页面上的商品信息提取成一个JSON数组。

  • 直观的自然语言断言: 使用自然语言进行断言,不再需要编写复杂的断言代码。 Midscene.js会基于AI的理解自动进行断言。例如:await aiAssert("左侧存在一个类别筛选器"); 这条语句就能简单地验证页面左侧是否存在类别筛选器。

  • Chrome 扩展程序体验: 通过Chrome扩展程序,你可以立即开始体验Midscene.js,无需任何代码即可快速上手! 这对于快速验证和探索非常便利。

  • 可视化报告: Midscene.js会生成可视化报告,让你能够轻松理解和调试整个自动化过程。 报告中包含动画回放,以及每一步操作的详细信息,甚至还提供了一个playground,让你可以在不重新运行脚本的情况下调整提示词。

  • 开箱即用的LLM: Midscene.js默认使用OpenAI GPT-4o模型,你也可以自定义其他多模态模型,如Gemini、Qwen等。 无需任何自定义训练,即可享受强大的AI能力。

  • 完全开源: Midscene.js 完全开源,你可以自由地使用、修改和分发它。 这对于想要深入了解其底层机制或者进行二次开发的用户来说非常友好。

三种主流集成方式,任君选择:

Midscene.js 提供了多种集成方式,以适应不同的开发场景和偏好:

  1. YAML脚本自动化: 如果你更喜欢使用YAML文件而不是代码进行自动化,Midscene.js也提供了这种方式。 YAML脚本简洁易懂,即使是非技术人员也能轻松上手。一个简单的YAML脚本示例如下:
target:
  url: https://www.bing.com
tasks:
  - name: search weather
    flow:
      - ai: search for 'weather today'
      - sleep: 3000
      - name: check result
        flow:
          - aiAssert: the result shows the weather info
  1. Chrome 扩展程序桥接模式: 通过Chrome扩展程序的桥接模式,你可以使用脚本控制桌面上的Chrome浏览器。 这对于需要复用cookie、插件和页面状态,或者需要手动与自动化脚本交互的场景非常有用。

  2. 与Puppeteer和Playwright集成: Midscene.js可以与流行的浏览器自动化工具Puppeteer和Playwright集成,方便你将其融入已有的自动化框架中。

深入了解YAML脚本的使用:

YAML脚本的核心在于targettasks两个部分。target定义了任务的基本信息,例如URL、用户代理、视口尺寸等等。tasks则是一个数组,包含一系列需要执行的任务。每个任务可以包含aiaiActionaiAssertaiQueryaiWaitForsleep等操作。

Midscene.js 的优势:

  • 极大的提升了开发效率: 使用自然语言编写自动化脚本,大大减少了代码量和维护成本。

  • 降低了学习门槛: 即使没有编程经验,也可以轻松上手Midscene.js。

  • 增强了测试的可靠性: 基于AI的理解,Midscene.js可以更准确地进行断言和数据提取。

  • 提供了更友好的调试体验: 可视化报告方便了调试和问题排查。

  • 保护数据隐私: 数据直接发送到OpenAI或自定义模型提供商,不会经过任何第三方平台。

结语:

Midscene.js 不仅仅是一个简单的浏览器自动化工具,更是一个全新的自动化理念。它通过AI赋能,将自动化测试带入了一个全新的时代,让自动化变得更加高效、便捷和人性化。 如果你还在寻找一种高效、简洁、易用的UI自动化解决方案,不妨试试Midscene.js,相信它会带给你惊喜! 赶快访问midscenejs.com了解更多信息,并开始你的Midscene.js之旅吧! 别忘了关注GitHub仓库:https://github.com/web-infra-dev/midscene 获取最新更新和代码。