- 概述
- 用户界面自动化
- 通过用户界面自动化实现自动化的应用程序和技术
- 项目兼容性
- UI-ANA-016 - 拉取打开浏览器 URL
- UI-ANA-017 - 出错时继续 True
- UI-ANA-018 - 列出 OCR/图像活动
- UI-DBP-006 - 容器使用情况
- UI-DBP-013 - Excel 自动化误用
- UI-DBP-030 - 选取器中的禁止变量使用情况
- UI-PRR-001 - 模拟单击
- UI-PRR-002 - 模拟键入
- UI-PRR-003 - 打开应用程序误用
- UI-PRR-004 - 硬编码延迟
- UI-REL-001 - 选取器中的大 IDX
- UI-SEC-004 - 选取器电子邮件数据
- UI-SEC-010 - 应用程序/Url 限制
- UI-USG-011 - 不允许的属性
- UX-SEC-010 - 应用程序/Url 限制
- UX-DBP-029 - 使用不安全的密码
- UI-PST-001 - 项目设置中的审核日志级别
- UiPath 浏览器迁移工具
- 剪切区域
- 计算机视觉录制器
- Activities index
- 激活
- 锚点基准
- 附加浏览器
- 附加窗口
- 阻止用户输入
- 标注
- 选中
- 单击
- 单击图像
- 单击图像触发器
- 单击 OCR 文本
- 单击文本
- 单击触发器
- 关闭应用程序
- 关闭选项卡
- 关闭窗口
- 上下文感知锚点
- 复制选定文本
- 元素属性更改触发器
- 存在元素
- 元素作用域
- 元素状态更改触发器
- 导出用户界面树
- 提取结构化数据
- 查找子元素
- 查找元素
- 查找图像
- 查找图像匹配项
- 查找 OCR 文本位置
- 查找相对元素
- 查找文本位置
- 获取活动窗口
- 获取上级
- 获取属性
- 获取事件信息
- 从剪贴板获取
- 获取全文
- 获取 OCR 文本
- 获取密码
- 获取位置
- 获取源元素
- 获取文本
- 获取可见文本
- 返回
- 前往
- 转至主页
- Google Cloud Vision OCR
- 隐藏窗口
- 高亮显示
- 热键触发器
- 悬停
- 悬停在图像上方
- 悬停在 OCR 文本上方
- 悬停文本
- 存在图像
- 在屏幕上指定
- 注入 .NET 代码
- 插入 Js 脚本
- 调用 ActiveX 方法
- 按键触发器
- 加载图像
- 最大化窗口
- Microsoft Azure 计算机视觉 OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- 最小化窗口
- 监控事件
- 鼠标触发器
- 移动窗口
- 导航至
- 存在 OCR 文本
- 在元素出现时
- 在元素消失时
- 在图像出现时
- 在图像消失时
- 打开应用程序
- 打开浏览器
- 刷新浏览器
- 重播用户事件
- 还原窗口
- 保存图像
- 选择项目
- 选择多个项目
- 发送热键
- 设置剪切区域
- 设置焦点
- 设置文本
- 设置为剪贴板
- 设置网页属性
- 显示窗口
- 启动进程
- 系统触发器
- 截取屏幕截图
- Tesseract OCR
- 存在文本
- 工具提示
- 键入
- 输入安全文本
- 使用前台
- 等待属性
- 等待元素消失
- 等待图像消失
- Computer Vision Local Server
- 移动自动化
- 终端
用户界面自动化活动
插入 Js 脚本
UiPath.Core.Activities.InjectJsScript
在与用户界面元素对应的网页环境中执行 JavaScript 代码。
输入
-
脚本代码 - 要运行的 JavaScript 代码。可在此处将其写作字符串形式,或添加包含待执行代码的
.js
文件的完整路径。脚本代码应包含单个匿名函数,如以下示例所示:function (element, input) { return "result"; }
function (element, input) { return "result"; }async function (element, input) { const asyncResult = await new Promise((resolvePromiseCb) => { const timeoutMs = 100; setTimeout(() => { resolvePromiseCb("async_result"); }, timeoutMs); }); return asyncResult; }
async function (element, input) { const asyncResult = await new Promise((resolvePromiseCb) => { const timeoutMs = 100; setTimeout(() => { resolvePromiseCb("async_result"); }, timeoutMs); }); return asyncResult; }其中element
表示与调用用户界面节点对应的 HTML 元素,input
表示调用者提供的输入字符串。 - “输入参数”- JavaScript 代码的输入数据,为字符串或字符串变量形式。
- “目标选择器” - 执行活动时用于查找特定用户界面元素的文本属性。 它实际上是一个 XML 片段,用于指定您要查找的 GUI 元素及其某些父元素的属性。
- Target.TimeoutMS - 指定在引发
SelectorNotFoundException
错误之前等待活动运行的时间(以毫秒为单位)。 默认值为 30000 毫秒 (30 秒)。 -
Target.WaitForReady - 在执行操作之前,请等待目标就绪。 提供以下选项:
- “无”- 在执行操作之前,系统不会等待显示除目标用户界面元素之外的任何内容。例如,如果希望只从网页检索文本或单击特定按钮,则可以使用此选项,而不必等待用户界面元素全部加载。请注意,如果按钮依赖于尚未加载的元素(例如脚本),则可能会产生不良后果。
-
“交互/完成” - 待目标应用程序中的所有用户界面元素全部显示之后,再实际执行操作。
为了评估应用程序处于“交互”状态还是“完成”状态,系统将验证以下标签:
- “桌面应用程序”- 系统会发出一条“
wm_null
”消息,以检查是否存在“<wnd>
”、“<ctrl>
”、“<java>
”或“<uia>
”标签。如存在,则执行活动。 - 网页应用程序:
- Internet Explorer -
<webctrl>
标签用于检查 HTML 文档的就绪状态是否设为完成。此外,必须将忙碌状态设置为“False”。 - 其他 -
<webctrl>
标签用于检查 HTML 文档的“就绪”状态是否为“完成”。
- “SAP 应用程序”- 首先验证是否存在“
<wnd>
”标签,然后使用 SAP 特定 API 来检测会话是否繁忙。
- “目标.元素” - 使用另一个活动返回的用户界面元素变量。 此属性不能与“选取器”属性一起使用。 此字段仅支持用户界面元素变量。
- Target.ClippingRegion - 沿以下方向定义相对于用户界面元素的剪切矩形(以像素为单位):左、上、右、下。 它支持正数和负数。
输出
- 脚本输出- JavaScript 代码返回的字符串结果。
常见
- “显示名称”- 活动的显示名称。
-
“出错时继续”- 指定在活动引发错误时是否应继续自动化操作。该字段仅支持“布尔值”(True 和 False)。默认值为 False。因此,如果该字段为空且活动引发错误,系统将停止执行项目。如果该值设为“True”,则无论出现何种错误,系统都将继续执行项目。
注意:如果 Try Catch 异常处理中包含该活动且出错时继续属性的值为 True,则系统在执行项目时不会捕获任何错误。
其他
- “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。
选项
-
执行 环境 - 用于执行脚本的 JavaScript 环境。
- “隔离”- 环境允许访问 HTML 元素,但禁止访问页面变量和代码。使用此选项可确保脚本执行不会与页面冲突。
- “页面” - 允许访问 HTML 元素、页面变量和代码。 如果您需要访问页面变量(例如
jQuery $
)或与页面代码交互(例如window.alert
),请使用此选项。 要修复此特定于 MV3 扩展程序的 已知问题 ,则需要使用此选项。
您可以通过 “ 项目设置”更改所有“注入 Js 脚本”活动的“执行”世界属性。
.js
文件。您必须安装并启用浏览器扩展程序。
为了举例说明如何使用此活动,我们创建了一个示例,该示例将打开浏览器并显示带有用户指定文本的警示。
此自动化流程的构建方法如下:
-
打开 Studio ,创建一个新“流程”。
注意:确保将.js
文件放置在项目文件夹中。在此示例中,我们使用了文件example.js
。 -
将序列活动拖动至“工作流设计器”。
-
创建以下变量:
变量名称
变量类型
默认值
TextToWrite
泛型值
-
-
将“ 输入对话框 ”活动拖动到“ 序列 ”容器内。
- 在属性面板中,向显示名称字段添加名称
Ask for message
。 - 在“标签”字段中添加表达式“
"Please insert the text to be written on the web page."
”。 - 在标题字段中添加
"Please insert text"
消息。 - 在“结果”字段中添加
textToWrite
变量。
- 在属性面板中,向显示名称字段添加名称
-
在“ 输入对话框 ”活动下方放置一个“打开浏览器”活动。
- 在URL字段中添加地址
"https://www.google.com/"
。
- 在URL字段中添加地址
-
将“注入 JS 脚本”拖动到“打开浏览器”活动的“正文”容器中。
- 在属性面板中,向显示名称字段添加名称
Show Alert
。 - 在“输入参数”字段中添加变量
TextToWrite
。 - 在“脚本代码”字段中添加表达式“
"Inject JS\example.js"
”。
- 在属性面板中,向显示名称字段添加名称
-
运行流程。机器人将打开一个新的浏览器页面,并为警示提供您添加的文本。