UiPath Citrix及项目实施遇到的问题
2018-10-28 本文已影响51人
前端混合开发
远程桌面.png
虚机只是把界面图像投射回来;当我们做一个操作(e.g. 按键,鼠标)也会再通过网络传输回虚机。
现在虚机上还不能用UiPath录屏,你只能手把手的教'Robot'怎么去做。
- 用Click Image的方式,基本上可以点击任何button, menus, text。有一个option叫做Accuracy,可以用来改变匹配image准确度,建议的一个值是0.8,比较准确又比较可靠。
- Click text的方式,则是用的OCR,所以如果程序颜色或者字体有变化,也还是能够识别出来。
- TypeInto 能够使用键盘事件时,就不要使用鼠标事件;
- 获取页面信息:
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进行的!
以下是在项目实施过程中遇到的问题:
-
怎么获取当前日期并加60?
now.AddDays(30).ToString(“dd/MM/yyyy”) -
按行分离并循环遍历
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)在哪一行,就要先按行分离到数组,然后再逐行遍历。 -
宏如何过滤两列并集
录制了一段宏,可以完美工作
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
-
uipath trim空格:
TextNew = Text.Replace(" ","");