跳转到内容

获取所有页面信息

获取所有页面信息 用于一次性获取当前浏览器实例里所有已打开页面的信息,包括每个页面的序号(index)、网址(url)和标题(title),并支持按网址或标题正则筛选。它常用于多标签页场景下查找、切换目标页面。

指令标识:GetAllPagesInfo
指令类型:网页指令
指令描述:获取所有已打开网页的序号、网址和标题

工作流支持「可视化编排」和「代码编排」两种创建方式。获取所有页面信息 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「获取所有页面信息」节点,设置筛选规则和输出变量大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.getAllPagesInfo(outKey="pages")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

  • 流程中开了多个标签页,需要知道每个页面的网址和标题。
  • 需要按网址或标题找到某个目标页面,再切换过去操作。
  • 想确认某个页面是否已经被打开。

拿到页面序号后,可以配合切换窗口相关指令切到目标页面继续操作。

  • 浏览器执行环境已经初始化,至少有一个页面。
  • 已经规划好输出变量名,用于保存结果。
  • 如要筛选,确认网址或标题的正则表达式(按整串匹配)。
获取所有页面信息

下面用一个常见场景演示:列出当前所有页面,找到目标页面的序号

  1. 确认浏览器里已经打开了多个页面。
  2. 添加 获取所有页面信息 节点。
  3. 将结果保存至 填写变量名,例如 pages
  4. 运行后查看变量值,是一个包含每个页面 indexurltitle 的列表。
  5. 根据目标页面的 index,用切换窗口指令切过去。
界面名称代码属性名类型必填默认值说明
网址匹配urlPatternString-按网址正则筛选页面,要求整串匹配。留空表示不筛选(高级)。
标题匹配titlePatternString-按标题正则筛选页面,要求整串匹配。留空表示不筛选(高级)。
是否发送消息sendMsgFlagBooleanTrue是否发送通知消息。
界面名称代码属性名类型必填说明
将结果保存至outKeyList<Object>保存所有页面信息列表,每项包含 index(序号)、url(网址)、title(标题)。
  • 获取所有页面信息 节点运行结束后状态为成功。
  • 运行日志中没有参数缺失、超时或执行失败等错误。
  • 如果配置了输出变量,后续节点能够读取到符合预期的结果。
  • 后续节点能够继续执行,流程没有因为该节点异常中断。
现象 / 报错原文可能原因处理建议
日志报 No browser context浏览器执行环境未初始化先添加「打开网页」节点启动浏览器,再获取页面信息
日志报 正则表达式语法错误网址/标题匹配填写的正则不合法检查并修正正则表达式,或先留空不筛选
筛选结果为空正则要求整串匹配,未命中任何页面放宽正则(例如用 .* 包裹),或先不筛选查看全部页面

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

# 获取所有页面信息,返回值即页面列表
pages = bots.getAllPagesInfo(outKey="pages")
print(pages)

按标题筛选页面(正则整串匹配):

pages = bots.getAllPagesInfo(
titlePattern=".*订单管理.*",
outKey="pages",
)

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

A: 每个页面包含 index(在浏览器中的序号)、url(当前网址)、title(页面标题)。

A: 网址、标题筛选用的是整串匹配。如果只想包含某个关键词,请用 .*关键词.* 这样的正则包裹起来。