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