RPAUiPath

UiPath Citrix及项目实施遇到的问题

2018-10-28  本文已影响51人  前端混合开发
远程桌面.png

虚机只是把界面图像投射回来;当我们做一个操作(e.g. 按键,鼠标)也会再通过网络传输回虚机。
现在虚机上还不能用UiPath录屏,你只能手把手的教'Robot'怎么去做。

  1. Click Image的方式,基本上可以点击任何button, menus, text。有一个option叫做Accuracy,可以用来改变匹配image准确度,建议的一个值是0.8,比较准确又比较可靠。
  2. Click text的方式,则是用的OCR,所以如果程序颜色或者字体有变化,也还是能够识别出来。
  3. TypeInto 能够使用键盘事件时,就不要使用鼠标事件
  4. 获取页面信息:
    a. Select & Copy
    b. Scrape Relative -non-selectable text
    (四部曲:(1).先找锚(ancor image) (2).找到文本所在位置 (3).获取该位置的文本 (4). Reset clipping region), 但是这四步都是在developer操作下,UiPath自动完成的。

UiPath的citrix功能还是很强大的,如果能用clickText的就尽量用这个,如果实在不行还可以用clickImage,当然type也是很好用的,这个项目就是一直tab, tab进行的!

以下是在项目实施过程中遇到的问题:

  1. 怎么获取当前日期并加60?
    now.AddDays(30).ToString(“dd/MM/yyyy”)
  2. 按行分离并循环遍历
    yourText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries)
    从citrix取出的信息如下:
    29.11.2018
    30.11.2018
    07.12.2018
    04.01.2018
    想要判断拿到的日期(e.g. 07.12.2018)在哪一行,就要先按行分离到数组,然后再逐行遍历。
  3. 宏如何过滤两列并集
    录制了一段宏,可以完美工作
Public Sub doExec()
'
' Macro2 Macro
'

    MsgBox "111"
    Dim lngLstRowSt1
    lngLstRowSt1 = Sheet1.Range("a1").End(xlDown).Row
    'MsgBox lngLstRowSt1
    'Sheets("Sheet1").Range(Sheets("Sheet1").Cells(lngFstRow, 5), Sheets("Sheet1").Cells(lngLstRow, 5))
    'Sheet1.Range(Sheet1.Cells(1, 26),Sheet1.Cells(lngLstRowSt1, 26))

     Sheets("Sheet1").Activate
     Sheets("Sheet1").Cells.Select
    Selection.Copy

    Sheets("Sheet2").Activate
    Range("a1").Select
    ActiveSheet.Paste

    Sheets("Sheet3").Activate
    Range("a1").Select
    ActiveSheet.Paste

    Application.CutCopyMode = False
    Sheets("Sheet2").Activate
     Sheets("Sheet2").Cells.Select
     ActiveSheet.Range(Cells(1, 1), Cells(lngLstRowSt1, 26)).RemoveDuplicates Columns:=Array(13, 14), _
        Header:=xlNo
End Sub
  1. uipath trim空格:
    TextNew = Text.Replace(" ","");

上一篇下一篇

猜你喜欢

热点阅读