影刀rpa:第二個(gè)項(xiàng)目學(xué)習(xí)心得

教程有說(shuō)到元素的關(guān)聯(lián)操作,教程說(shuō)自上而下的html路徑,一時(shí)之間沒(méi)弄清楚,索性就去看了下網(wǎng)頁(yè)的html源碼,才弄清楚到底是咋回事:


我是先選中了列表子元素的價(jià)格字段,選擇兩次以后就能選擇到所有列表子元素的價(jià)格字段了:


我們點(diǎn)擊編輯,可以看到以web開(kāi)頭的標(biāo)簽,x:name就是html標(biāo)簽的名字:


我們按f12打開(kāi)控制臺(tái),看看源碼結(jié)構(gòu),可以看到元素列表就是html樹的結(jié)構(gòu):


第一個(gè)標(biāo)簽就是html下面的第一個(gè)div:


我們?cè)倏匆幌伦詈笠粋€(gè)元素,實(shí)際就是選擇了tbody中所有的tr標(biāo)簽:


這下搞明白了。

然后再循環(huán)tr列表。

這里使用循環(huán)相似元素(web)指令,像這種常用的指令我們可以右鍵收藏起來(lái),這樣下次用就方便一些:


我們調(diào)試輸出一下這個(gè)價(jià)格,有幾個(gè)參數(shù)需要特別注意一下,就是關(guān)聯(lián)方式選擇子元素、子元素獲取方式選擇指定位置的子元素、子元素位置這里使用的是索引,價(jià)格在tr標(biāo)簽中的位置是3個(gè),且索引從0開(kāi)始,所以這里得子元素位置填2,如果是日期的話,則子元素位置填3:


還有一個(gè)小點(diǎn)需要注意的是,打印時(shí)需要選擇該元素的文本內(nèi)容:


如果直接選擇的話會(huì)打印出這樣的內(nèi)容:


還有另一種方法獲取訂單明細(xì)的價(jià)格,不通過(guò)獲取關(guān)聯(lián)元素的指令,而是使用獲取元素對(duì)象的方式,就我個(gè)人而言這種方式不是很好理解,還是第一種方式比較好理解,就好像python中的for循環(huán)。

第二種方式官方是這么說(shuō)的:

得先再選擇一遍價(jià)格的相似元素組,然后循環(huán)的時(shí)候使用獲取元素對(duì)象并關(guān)聯(lián)父元素也就是循環(huán)的訂單,這樣去獲取當(dāng)前循環(huán)的訂單的價(jià)格,過(guò)程多了步驟,所以不推薦這個(gè)做法,還是第一個(gè)比較好理解和易用,符合python這類編程語(yǔ)言。

下面是元素編輯部分:

當(dāng)我們有一個(gè)輸入組件時(shí),想在輸入內(nèi)容后按下回車。在輸入內(nèi)容后面加{enter}:


比如我們有一個(gè)月份的選擇組件:


我們需要選擇動(dòng)態(tài)選擇月份要如何實(shí)現(xiàn)呢?

首先新建一個(gè)全局變量叫月份:


我們捕獲一下月份的元素:


點(diǎn)擊編輯,將最下面一個(gè)元素的title的屬性值勾選為全局變量月份:


這樣只需要我們編輯全局變量的值就能自動(dòng)對(duì)應(yīng)的月份了,看看效果:


教程沒(méi)有提到的一點(diǎn)是,我們可以自動(dòng)選擇當(dāng)前月,思路如下:

定義一個(gè)月份的映射類型,拿到當(dāng)前的月份的數(shù)字映射為中文,如1映射為一月份,以此類推,讓我們實(shí)現(xiàn)一下:

首先我使用獲取當(dāng)前時(shí)間指令獲取下當(dāng)前時(shí)間:


還需要根據(jù)當(dāng)前時(shí)間獲取時(shí)間中的月份,搜索了下,影刀rpa沒(méi)有相關(guān)的指令可以直接獲取月份,當(dāng)然也可以通過(guò)截取的方式獲取月份:


可以看到,我在截取一段文本的指令時(shí)使用str函數(shù),這個(gè)函數(shù)的作用是將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符串類型,因?yàn)榻厝∫欢挝谋局噶钪到邮兆址愋停孕枰D(zhuǎn)換一下,這里輸出了01,我們不想要前面的0要怎么做呢?我們可以再將他轉(zhuǎn)換為整數(shù)型數(shù)據(jù):


就變成整數(shù)了:


但是我發(fā)現(xiàn)影刀還有一個(gè)好用的功能,就是這個(gè):


我們雙擊點(diǎn)開(kāi)它:


我們看看它的源碼:


很簡(jiǎn)單的Python代碼,估計(jì)是chatgpt寫的??偟膩?lái)說(shuō)還是很方便的,接上文我們需要根據(jù)數(shù)字的月份得到中文的月份,這里還可以再次使用魔法指令:


是我想要的效果,跑一輪看看:


效果不錯(cuò),接上流程:


完美!

最后再設(shè)置一下全局變量即可:


搞定!

這篇文章就到這里啦!如果你對(duì)文章內(nèi)容有疑問(wèn)或想要深入討論,歡迎在評(píng)論區(qū)留言,我會(huì)盡力回答。同時(shí),如果你覺(jué)得這篇文章對(duì)你有幫助,不妨點(diǎn)個(gè)贊并分享給其他同學(xué),讓更多人受益。

想要了解更多相關(guān)知識(shí),可以查看我以往的文章,其中有許多精彩內(nèi)容。記得關(guān)注我,獲取及時(shí)更新,我們可以一起學(xué)習(xí)、討論技術(shù),共同進(jìn)步。

感謝你的閱讀與支持,期待在未來(lái)的文章中與你再次相遇!

作者:一方_self

鏈接:https://juejin.cn/spost/7329520644550901760

來(lái)源:稀土掘金

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容