序言
“RPA 是實(shí)體機(jī)器人嗎?”相信首次接觸RPA (Robotic Process Automation)的人都會(huì)發(fā)出這樣的疑問(wèn)。時(shí)至今日,我對(duì)2017年7月在深圳首次向客戶介紹RPA 的經(jīng)歷記憶猶新。自此,我十分榮幸能有機(jī)會(huì)與數(shù)百家公司、企業(yè)、合作伙伴和RPA 專(zhuān)業(yè)人士(諸如本書(shū)的作者)進(jìn)行深入的交流。作為UiPath在大中華地區(qū)的第一位員工,我見(jiàn)證了RPA在中國(guó)各個(gè)行業(yè)和領(lǐng)域的爆炸式增長(zhǎng),更重要的是,越來(lái)越多志同道合的人正在加入RPA 社區(qū)并為之貢獻(xiàn)。助推RPA 高速增長(zhǎng)的動(dòng)力有千千萬(wàn)萬(wàn),但我認(rèn)為,“人”是引發(fā)其爆炸式增長(zhǎng)的關(guān)鍵因素之一,雖然機(jī)器人能以每天24小時(shí)的模式高效工作,但仍受到時(shí)間與已定流程的限制,而人類(lèi)的大腦卻能超越時(shí)間和空間的束縛。與RPA 專(zhuān)業(yè)人士交流的時(shí)候,我聽(tīng)到了很多創(chuàng)意并有所得,有時(shí)我將這些創(chuàng)意稱為夢(mèng)想。沒(méi)有他們這些天馬行空的夢(mèng)想,機(jī)器人只能機(jī)械地執(zhí)行任務(wù),無(wú)法為公司、員工和人類(lèi)生活創(chuàng)造真正的價(jià)值。
我非常喜歡本書(shū)第1章中提到的“自動(dòng)做飯” 這個(gè)新穎比喻,它揭示了RPA 與傳統(tǒng)IT解決方案之間的關(guān)鍵區(qū)別。盡管技術(shù)是現(xiàn)今世界通行的語(yǔ)言,但能讀到以中文著就的此類(lèi)有趣的比喻以及專(zhuān)業(yè)的技術(shù)說(shuō)明,無(wú)疑會(huì)促進(jìn)中國(guó)市場(chǎng)與科技的緊密相聯(lián),從而引發(fā)更多可以利用“數(shù)字助手”的新奇思路。普及化是每項(xiàng)技術(shù)的落地之路,我堅(jiān)信,RPA 機(jī)器人會(huì)像計(jì)算機(jī)那樣走進(jìn)千家萬(wàn)戶,最終實(shí)現(xiàn)“人手一個(gè)機(jī)器人”的美好愿景,從而讓我們的工作以及生活更加美好!
Tommy Fung
UiPath大中華區(qū)銷(xiāo)售總監(jiān)
2020年2月
前言
緣 起
2018年5月,我在一個(gè)小會(huì)議上偶然遇到Tommy Fung,當(dāng)時(shí)他給我們介紹RPA,這是我第一次知道RPA 這個(gè)詞。當(dāng)Tommy給我們展示UiPath Studio時(shí),我一眼就認(rèn)出WF的工作流設(shè)計(jì)器,雖然10年前我就玩過(guò)WF,也在博客上發(fā)過(guò)WF的文章,但看到UiPath把WF和UI自動(dòng)化結(jié)合起來(lái)還是有種眼前一亮的感覺(jué),甚至勾起了我當(dāng)年開(kāi)發(fā)UI自動(dòng)化測(cè)試的回憶。
隨著學(xué)習(xí)的深入和經(jīng)驗(yàn)的積累,我有了寫(xiě)作的沖動(dòng),寫(xiě)作對(duì)于我來(lái)說(shuō)不但是一個(gè)記錄和分享的過(guò)程,還是一個(gè)梳理和鞏固的過(guò)程。2018年8月下旬,我聯(lián)系了北航出版社的劇艷婕編輯,交流了我的寫(xiě)作計(jì)劃,我們也交流了國(guó)內(nèi)技術(shù)書(shū)籍的出版情況和RPA 在國(guó)內(nèi)的發(fā)展趨勢(shì),并敲定了本書(shū)的合作。2018年9月開(kāi)始構(gòu)思本書(shū)的大綱,10月填寫(xiě)選題表并確定本書(shū)的大綱,11月初選題過(guò)審并簽訂寫(xiě)作合同,從此踏上了本書(shū)的寫(xiě)作之旅。
閱讀指南
本書(shū)的寫(xiě)作從2018年11月開(kāi)始,到2019年9月結(jié)束,前后耗時(shí)10個(gè)月,它系統(tǒng)地記錄了我的所學(xué)、所用、所思、所想。從剛接觸RPA 到現(xiàn)在,我從RPA 社區(qū)學(xué)到了很多,現(xiàn)在是時(shí)候回饋社區(qū)了。我希望本書(shū)能夠助我踏出第一步,幫助現(xiàn)在的新手快速成長(zhǎng),就像社區(qū)幫助當(dāng)初的我一樣。
本書(shū)分為四篇。第一篇介紹了RPA 和UiPath的基本概念。如果你是一個(gè)技術(shù)新手,想快點(diǎn)做出東西,可以先讀第2章,然后根據(jù)情況選讀后面的章節(jié),最后閱讀第1章。如果你是一個(gè)管理者,想了解為企業(yè)實(shí)施RPA 需要考慮哪些東西,那么可以花點(diǎn)時(shí)間精讀第1章,然后根據(jù)情況瀏覽后面的章節(jié)。
第二篇系統(tǒng)地講解開(kāi)發(fā)的基礎(chǔ)知識(shí)和技術(shù),其中,每個(gè)RPA 項(xiàng)目都會(huì)用到第3章的內(nèi)容,包括創(chuàng)建和調(diào)試項(xiàng)目、錄制和播放流程、版本控制和發(fā)布部署等,建議技術(shù)人員精讀并掌握。第4章的內(nèi)容可以 根據(jù)情況選讀,比如,你的RPA 項(xiàng)目需要定期處理文件,則可以選讀第1節(jié)和第6節(jié)。如果時(shí)間允許,我仍然建議從頭開(kāi)始閱讀,因?yàn)椴糠质纠婕岸鄠(gè)章節(jié),單獨(dú)閱讀這些章節(jié)可能造成上下文缺失。
第三篇個(gè)人覺(jué)得是全書(shū)最有意思的部分,它探索RPA 如何與百度OCR、NLP等服務(wù)和微軟ML.NET框架集成,也探討如何利用WF的知識(shí)為UiPath創(chuàng)建自定
義活動(dòng)包。隨著接觸到更多更復(fù)雜的流程,你終將無(wú)法滿足于官方提供和自帶的構(gòu)件,這個(gè)時(shí)候,集成第三方服務(wù)以及創(chuàng)建自定義構(gòu)件就會(huì)變得尤為重要,我希望這個(gè)部分能夠拋磚引玉,在這個(gè)方面對(duì)你有所啟發(fā)。
如果你看了很多資料,寫(xiě)了很多示例,也做了很多交流,依然覺(jué)得在解決實(shí)際問(wèn)題時(shí)有所欠缺,那么你離出師可能還差一個(gè)真實(shí)的案例。你需要一個(gè)機(jī)會(huì)把你學(xué)過(guò)的東西串起來(lái),從頭到尾經(jīng)歷一個(gè)完整的項(xiàng)目,并解決在這個(gè)過(guò)程中遇到的實(shí)際問(wèn)題,而這正是第四篇的目的。當(dāng)然,真實(shí)項(xiàng)目可能是你未曾想過(guò)的有(奇)趣(葩)問(wèn)題,因此,請(qǐng)把握機(jī)會(huì),參與項(xiàng)目、解決問(wèn)題并積累經(jīng)驗(yàn)。噢,對(duì)了,別忘了把在真實(shí)項(xiàng)目中遇到的有(奇)趣(葩)問(wèn)題拿出來(lái)跟大家一起分享。
以上這些內(nèi)容其實(shí)是我在構(gòu)思本書(shū)大綱時(shí)的思考,把這些內(nèi)容寫(xiě)下來(lái)一方面希望幫你找到合適的閱讀方式,另一方面也想讓你了解本書(shū)為何這樣寫(xiě)。
代碼支持
本書(shū)的示例代碼已經(jīng)發(fā)布到GitHub,可以從https://github.com/allenlooplee/RPABook 下載完整的代碼。建議先按照本書(shū)的指示動(dòng)手創(chuàng)建流程,然后再?gòu)腉itHub上查閱對(duì)應(yīng)的代碼。如果對(duì)本書(shū)的內(nèi)容和代碼有任何問(wèn)題或者建議,可以到https://github.com/allenlooplee/RPABook/issues上開(kāi)issue,我會(huì)在業(yè)余時(shí)間盡量回復(fù)。如果對(duì)UiPath的產(chǎn)品有任何問(wèn)題或建議,可以到https://forum.uipath.com/上發(fā)帖。
作 者
2020年2
第一篇 概覽篇
第1章 RPA概覽5
1.1 RPA是什么 5
1.2 選擇適合的流程6
1.3 三個(gè)層次、兩個(gè)方向、一段旅程 9
1.4 實(shí)施模型和卓越中心 12
1.5 我眼中的RPA 2.0 15
第2章 UiPath概覽 17
2.1 UiPath平臺(tái) 17
2.2 為什么選擇 UiPath 18
2.3 UiPath Studio的安裝和設(shè)置19
2.4 您好,世界 22
2.5 UiPath Go 26
第二篇 技能篇
第3章 開(kāi)發(fā)基礎(chǔ)31
3.1 創(chuàng)建項(xiàng)目 31
3.2 錄制和播放 34
3.3 選擇器和UI Explorer 38
3.4 調(diào) 試42
3.5 異常與日志 44
3.6 一鍵發(fā)布和部署 49
3.7 使用Orchestrator CE集中管理發(fā)布和部署 51
3.8 代碼組織和版本控制 60
第4章 常用技能和使用示例 66
4.1 文件和文件夾 66
4.2 Web和數(shù)據(jù)抓取 70
4.3 SQLite數(shù)據(jù)庫(kù) 79
4.4 Office 85
4.5 響應(yīng)用戶事件 90
4.6 計(jì)劃任務(wù) 96
4.7 配置文件 103
4.8 測(cè)試框架 106
第三篇 交叉篇
第5章 RPA x OCR 117
5.1 遇見(jiàn)百度 OCR 117
5.2 創(chuàng)建和配置項(xiàng)目 118
5.3 識(shí)別增值稅發(fā)票 121
5.4 過(guò)濾并提交識(shí)別結(jié)果 124
第6章 RPA x NLP 128
6.1 準(zhǔn)備環(huán)境 128
6.2 下載新聞 133
6.3 通過(guò)百度 NLP提取新聞標(biāo)簽 137
6.4 通過(guò)Python生成詞云圖 138
第7章 RPA x AutoML 141
7.1 遇見(jiàn) ML.NET 141
7.2 準(zhǔn)備數(shù)據(jù) 142
7.3 使用ML.NET Model Builder自動(dòng)訓(xùn)練模型 144
7.4 使用模型預(yù)測(cè)結(jié)果 148
7.5 拖放式機(jī)器學(xué)習(xí)150
第8章 RPA x WF x WPF 153
8.1 站在 WF的肩膀上 15
8.2 創(chuàng)建自定義活動(dòng)項(xiàng)目 153
8.3 發(fā)布自定義活動(dòng)包 159
8.4 自定義活動(dòng)設(shè)計(jì)器 161
8.5 使用 UiPathActivitySet創(chuàng)建自定義活動(dòng) 166
第四篇 實(shí)踐篇
第9章 案例實(shí)踐:貨基收益自動(dòng)對(duì)賬 175
9.1 需求收集與分析 175
9.2 可行性分析 176
9.3 流程設(shè)計(jì) 178
9.4 在京東金融中獲取小金庫(kù)零用錢(qián)的余額和收益列表 183
9.5 在網(wǎng)易有錢(qián)中獲取小金庫(kù)零用錢(qián)的余額 188
9.6 記一筆賬 190
9.7 未盡事宜