记录 UiPath 学习中遇到的一些问题以及解决办法
這里有一些入門UiPath的實(shí)例:?https://github.com/SharathRaju489/UiPath
-------2021.04.13---------
問(wèn) 1.在開(kāi)發(fā)中,當(dāng)我們想點(diǎn)擊那些失去焦點(diǎn)后隱藏的按鈕時(shí)。發(fā)現(xiàn)我們切換到uipath studio之后,想要點(diǎn)擊的按鈕已經(jīng)被隱藏,無(wú)法選中
問(wèn) 1 解決方案:使用click -> attach?windows/attach browser ->click。舉例我們要點(diǎn)擊文本框(notepad)中的Format中的Font:
? ? ? ? ? ? ? ? ? ? ? ?1:使用click,點(diǎn)擊notepad中的Format
? ? ? ? ? ? ? ? ? ? ? ?2:使用Attach windows,選擇attach windows作用域時(shí),先點(diǎn)擊Indicate window on screen,再按F2,點(diǎn)擊Format,等待3秒,選中作用域?yàn)辄c(diǎn)擊Format后的區(qū)域
? ? ? ? ? ? ? ? ? ? ? ?3:使用click,點(diǎn)擊獲取目標(biāo)時(shí),按下F2,打開(kāi)notepad上的Format,目標(biāo)選擇Format下的font
問(wèn) 1 主要技術(shù):主要使用F2延時(shí)選中功能。使用F2延遲選中功能,可參考以下地址中的視頻:內(nèi)容烏鴉 (uipath.com)
---------------------------------2020-05-27? ?通過(guò)UiPath識(shí)別圖片內(nèi)容
? ?使用OCR組件,需要下載對(duì)應(yīng)的package。經(jīng)過(guò)測(cè)試,中文識(shí)別不行。英文識(shí)別一般,有些字母無(wú)法識(shí)別出(如:W)
-------------------------------獲取郵件中的附件
使用get outlook Mail Message組件
獲取附件名稱(mailItem是單個(gè)郵件的附件,里面有可能包含多個(gè)附件):
?CType( mailItem.Attachments.FirstOrDefault,Attachment).Name?
---------------------打開(kāi)循環(huán)打開(kāi)excel時(shí),報(bào)錯(cuò):Call was rejected by callee.
根本原因是在操作excel時(shí),有其他excel進(jìn)程沒(méi)有關(guān)閉,只需要關(guān)閉excel進(jìn)程。
? ?第一種情況:調(diào)用Kill Process組件,需要引入包:UiPath.Core.Activities,設(shè)置ProcessName="Excel"。
? ?第二種情況:打開(kāi)的Excel中,存在透視表(pivot table)。解決辦法是將透視表的“(打開(kāi)excel時(shí)刷星)Refresh data when opening the file” 關(guān)掉就行,如下圖。我猜測(cè)出現(xiàn)這個(gè)原因是數(shù)據(jù)刷新時(shí),做了關(guān)閉excel處理時(shí),進(jìn)程沒(méi)有徹底被關(guān)閉。
? 最后,經(jīng)過(guò)測(cè)試,出現(xiàn)這類問(wèn)題,和excel的文件類型,以及是否存在宏無(wú)關(guān),就和透視表(piovt table)有關(guān)系,如有其他碼友遇到相同問(wèn)題可以@我,一起看看
---------------------uipath如何強(qiáng)制關(guān)閉excel的piovt table的打開(kāi)時(shí)刷新選項(xiàng)(方向:調(diào)用VBA的形式。難點(diǎn):只要涉及到打開(kāi)excel,就會(huì)報(bào)錯(cuò)(訪問(wèn)被拒絕))
? ? 最終這個(gè)問(wèn)題還是通過(guò)使用VBS解決了這個(gè)問(wèn)題。然后使用uipath中的 invoke vbscript組件調(diào)用關(guān)閉了pivot table的自動(dòng)刷新。代碼有點(diǎn)長(zhǎng),請(qǐng)查看我的另外一個(gè)博文(vbs 關(guān)閉excel的piovt table自動(dòng)刷新),有代碼
---------------------通過(guò)ExtractData獲取SAP列表時(shí),報(bào)錯(cuò):Inject JS script is not supported for this element. 為SAP本身設(shè)置的問(wèn)題,修改SAP屬性即可,按如下圖設(shè)置即可(option里打開(kāi)此設(shè)置)。另外,如果RPA去操作SAP時(shí),提示:A Script is attempting to acess SAP GUI.解決辦法是一樣的:
----------------通過(guò)ExtractData 獲取SAP中列表數(shù)據(jù),如果獲取的數(shù)據(jù)里不全,且數(shù)據(jù)中出現(xiàn)亂數(shù)據(jù)(我的表現(xiàn)為0000XXX),這是因?yàn)镾AP使用的應(yīng)該是懶加載,在數(shù)據(jù)未加載完成時(shí),RPA已經(jīng)執(zhí)行:ExtractData。兩種處理方法:1,加一個(gè)延時(shí),2,做一個(gè)翻譯,使用PGDN,翻到最后一頁(yè)后再用ExtractData。推薦使用第二種,因?yàn)橐话悴恢罃?shù)據(jù)什么時(shí)候加載完
-----------------今天遇到一個(gè)比較棘手的問(wèn)題。再SAP中執(zhí)行翻頁(yè)操作時(shí),當(dāng)一條數(shù)據(jù)存在于當(dāng)前頁(yè),但是數(shù)據(jù)只顯示一半的時(shí)候,使用click組件時(shí),無(wú)法選中,暫時(shí)不知道怎么解決這個(gè)問(wèn)題
? ? 臨時(shí)解決方案:還是使用PGDN(SendHotkey組件),每次翻頁(yè)的時(shí)候,都去檢查當(dāng)前頁(yè)是否有自己要的選項(xiàng)。如果有就:1、使用up(SendHotkey) 2、查找是否存在自己需要的選項(xiàng)(如沒(méi)有,繼續(xù)PGDN) 3、點(diǎn)擊需要的選項(xiàng)
?這種方法還是會(huì)有一定概率出現(xiàn)無(wú)法選中的問(wèn)題,親測(cè)還是能解決部分問(wèn)題
-------2020.07.27---------- 在RPA中進(jìn)行加密的問(wèn)題。測(cè)試了博文:ttps://blog.csdn.net/weixin_45000314/article/details/98937190?提供的三種方法可以用,但是都可以通過(guò)message明文輸出。想過(guò)自己封裝package方式,但是考慮到RPA是通過(guò)模擬人操作,在程序執(zhí)行給輸入框賦值時(shí),都是明文。不知道有沒(méi)有其他小伙伴有啥好想法,求助求助
---------------我們創(chuàng)建項(xiàng)目時(shí),選擇類型為:Template后,保存項(xiàng)目時(shí),會(huì)提示錯(cuò)誤:Could not load file or assembly 'Microsoft.windows.design.extensibility,version=4.3.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.the system cannot find the file specified.? 根本原因就是系統(tǒng)中沒(méi)有找到Microsoft.windows.design.extensibility??梢酝ㄟ^(guò)安裝.net framework(不能安裝runtime)解決大部分電腦的問(wèn)題。還有一種情況是安裝了.net framework后依然報(bào)錯(cuò),此時(shí),我們需要手動(dòng)將Microsoft.Windows.Design.Extensibility.dll注冊(cè)到電腦中(網(wǎng)上找注冊(cè)教程注冊(cè)dll文件 - J.Y - 博客園 (cnblogs.com))。
------------- 在Orchestrator中使用azure key vault(如果在orchestrator中創(chuàng)建憑據(jù)存儲(chǔ)時(shí)沒(méi)有AzureKeyVault選項(xiàng)時(shí),下面的連接也可以解決):
https://docs.uipath.com/orchestrator/docs/about-credential-stores---------------自己根據(jù)屬性找到web頁(yè)面的標(biāo)簽:<webctrl css-selector='table[jsname=NLtp9]' />
---------------Selector中,給屬性添加變量 titel='{{變量}}'
---------------DataTable中存在時(shí)間列,但是列的類型為String,我們?cè)诓樵儠r(shí),需要將string轉(zhuǎn)換成datetime格式再進(jìn)行查詢,解決方法如下:
? ? ? ? ? ?1、如果項(xiàng)目是VB類型:dt.Select().ToList().Where(Function(row as DataRow) cDate(row("xxx"))<DateTime.Now).ToArray()或者使用Bala的DateTime ParseTo Datatable ,需要下載包:BalaReva.EasyDataTable.Activities
? ? ? ? ? 2、如果項(xiàng)目是C#類型: 還在尋求答案中。。。
--------------初始化list:new List(Of Int32)(New Int32(){1, 3, 4, 6, 7})
時(shí)間轉(zhuǎn)換,月份為英文:
DateTime.Now.ToString("MMM yyyyy",CultureInfo.CreateSpecificCulture("en-GB")) ;? // Nov 2017 簡(jiǎn)寫月份
DateTime.Now.ToString("MMMM yyyyy",CultureInfo.CreateSpecificCulture("en-GB")) ;? // November 2017 全寫月份
總結(jié)
以上是生活随笔為你收集整理的记录 UiPath 学习中遇到的一些问题以及解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 后渗透篇:清理windows入侵痕迹总结
- 下一篇: DDOS硬件防火墙DIY技术揭密