zoukankan      html  css  js  c++  java
  • UiPath-默认、SendWindowMessages和SimulateType(SimulateClick)三种鼠标键盘模拟行为

    UiPath中,模拟鼠标和键盘支持3种模式:

    Default、SendWindowMessages、SimulateType(SimulateClick)(SimulateType是输入,SimulateClick是点击)

    Default模式:SendWindowMessages、SimulateType(SimulateClick)不选或都为false时

    这三种有什么样的区别?

    我们从原理和具体表现两个角度来区分他们。

    原理:

    这是官方文档上的图。

    按照官方的说法,Default模式是基于系统驱动的方式,来模拟键盘和鼠标行为。是最接近真实的鼠标和键盘的方式。

    SendWindowMessages模式,是通过向应用程序发送Window Message进行模拟的。是基于应用的方式。

    SimulateType(SimulateClick)模式,是通过向UI元素发送消息进行模拟的。是基于UI元素的。

    于是根据原理并官方文档我们可以得出下表:

    类型 基于 兼容程度 响应速度
    Default 系统驱动(最接近真实鼠标键盘的方式) 全部
    SendWindowMessages 应用 大部分
    SimulateType(SimulateClick) UI元素 一部分

    具体表现:

    我们在桌面创建了txt,并在uipath中,创建3个Keyborad.TypeInfo活动。

    第一个我们使用Default的模式,第二种我们选择SendWindowMessages模式,第三种我们使用SimulateType模式。

    分别向这个txt文件输入文字。

    然后我们启动程序,当这个程序在向这个txt文件输入文字时,我们尝试每次在输入前,把鼠标光标挪开到其他应用程序窗口。

    我们会发现:

    类型 光标 文字
    Default 本来在其他应用程序窗口的光标,会移动到txt文本框内。 文字是一个个打出的
    SendWindowMessages 在其他应用程序窗口的光标不会被移动 文字是一个个打出的
    SimulateType 在其他应用程序窗口的光标不会被移动 文字是瞬间出来的

    总结:

    根据上表的光标特性,当我们的机器人运行在有人工作的电脑上,我们是不能使用default模式的。

    当然根据原理和具体表现的其他特征,我们还能推导出更多场景的适用方式。

  • 相关阅读:
    go标准库的学习-net/http
    go标准库的学习-sync互斥
    sqlplus命令大全
    Oracle 11g安装步骤详谈
    安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)
    Dos命令查看端口占用及关闭进程
    access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
    Hibernate的集合映射与sort、order-by属性
    Hibernate总结2 API和配置文件
    MyEclipse8.5启动无法选择工作空间的问题
  • 原文地址:https://www.cnblogs.com/toseeme/p/13497944.html
Copyright © 2011-2022 走看看