使用Robot機器人框架實現自動化操作
RPA只是一種自動執行重複性任務的方法,這些任務通常由人類使用軟體機器人完成。這些通常是在 Web 瀏覽器、MS Excel、電子郵件客戶端等圖形使用者介面 (GUI) 中完成的任務……
開源RPA專案有Robot Framework和TagUI,Robot Framework 擁有最多的 GitHub 明星,並得到廣泛社群的支援。是 Python 之上的一層非常酷,因此很容易將自定義 Python 程式碼插入到機器人中。
Robot Framework是一個用python語言開發的自動化測試框架。機器人框架支援大多數型別的功能測試,例如使用者介面測試(UI)、後端測試(如 REST 服務測試)甚至資料庫測試。
Robot框架把你的典型程式語言的功能稱為關鍵字。我們將定義一些關鍵字,以便我們能夠抽象出一些你在瀏覽器中處理網站時遇到的粗糙邊緣。特別是,網站是非同步載入許多元素的野獸,這意味著元素可能還不可見或未啟用。
機器人的速度本來就比人類快得多,所以如果你不小心,你的機器人很容易因為使用者介面尚未準備好或因為其他競賽條件的出現而出錯。
當然,你可以在你的程式碼中插入睡眠語句,這將模擬人類會遇到的時間,但這是一種反模式,因為:
- 新增sleep睡眠語句會使你的機器人變得更慢
- 時間可以根據網路、後端伺服器、甚至你的計算能力而變化。
相反,我們將建立一些輔助關鍵字,等待元素的可見和啟用,甚至在頁面載入時間過長或發生意外錯誤時引入一個重試迴圈。
這個關鍵字是:Wait Until Element Ready
Wait Until Element Ready Inner [Arguments] ${locator} ${timeout}=None Wait Until Page Contains Element ${locator} ${timeout} Wait Until Element Is Visible ${locator} Wait Until Element Is Enabled ${locator} Scroll Element Into View ${locator} Wait Until Element Is Visible ${locator} Wait Until Element Is Enabled ${locator} Scroll Element Into View ${locator} Wait Until Element Ready [Arguments] ${locator} ${timeout}=None Wait Until Keyword Succeeds 3 1s Wait Until Element Ready Inner ${locator} ${timeout} |
接下來,我們將定義Click Element When Ready,它是使用Wait Until Element Ready,然後點選該元素。
Click Element When Ready Inner [Arguments] ${locator} Wait Until Element Ready ${locator} ${element}= Get WebElement ${locator} Click Element ${element} [Return] ${element} Click Element When Ready [Arguments] ${locator} Wait Until Keyword Succeeds 3 1s Click Element When Ready Inner ${locator} |
為了使我們能夠恢復同一個瀏覽器會話,這將有助於我們避免Todoist在每次登入時向我們傳送電子郵件,我們將借用這篇文章中的一個技巧。
Open Browser Profiled [Arguments] ${url} ${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${options} add_argument --user-data-dir\=${USER_DATA_PATH} Create WebDriver Chrome chrome_options=${options} Go To ${url} |
詳細原始碼:github.com/redgeoff/grocery-shopping-bot
點選標題更多
相關文章
- [CareerCup] 9.2 Robot Moving 機器人移動機器人
- 機器人使機床自動化機器人
- 基於Python3.7 Robot Framework自動化框架搭建PythonFramework框架
- 自動化機器人的興起機器人
- 財務rpa機器人 快速實現企業財務自動化機器人
- Mac「自動操作」機器人有什麼用?Mac機器人
- 如何簡化機器人自動化的整合機器人
- IBM推出新型工業化學機器人以實現實驗室自動化IBM機器人
- Robot Framework自動化測試框架核心指南-如何做好自動化測試平臺框架的設計Framework框架
- 使用 Robot Framework 進行自動化視覺測試Framework視覺
- Robot Framework 自動化測試--部署篇Framework
- Windows10 & Python3 部署Robot FrameWork自動化測試框架WindowsPythonFramework框架
- 使用gulp實現前端自動化前端
- 使用 fastlane 實現自動化打包AST
- 按鍵大師:用Python實現無人值守的自動化操作Python
- Live800:智慧套電機器人實現醫院營銷獲客自動化機器人
- 利用Python實現微信半自動化操作!Python
- Golang 控制 iOS 裝置實現自動化操作GolangiOS
- 助力供電企業數字化,軟體機器人實現電費催繳業務自動化機器人
- 程式設計自動化,未來機器人將超越人類?程式設計機器人
- 除了汽車,自動駕駛場景的實現還能依靠機器人自動駕駛機器人
- 工業自動化,機器人和無人駕駛產品-協作和服務機器人機器人
- 釘釘機器人自動提醒機器人
- robot framework 使用三:瀏覽器相容性自己主動化Framework瀏覽器
- 如何使用瀏覽器自動化框架Playwright開發“萬媒易發”實現多平臺自動釋出文章?瀏覽器框架
- SwagBot自動化機器人原型機 澳發明放牧機器人幫助農民(影片)機器人原型
- GO 使用Webhook 實現github 自動化部署GoWebHookGithub
- 使用 Postman 實現 API 自動化測試PostmanAPI
- RPA 機器人自動流程化的三種部署形式機器人
- 3個關鍵點助力工業機器人自動化機器人
- 使用Golang + lua實現一個值班機器人Golang機器人
- Selenium自動化實現web自動化-1Web
- 用Q-learning演算法實現自動走迷宮機器人演算法機器人
- 介面自動化實戰之框架搭建框架
- 使用 Git 實現 專案的自動化部署Git
- 如何使用CRM實現銷售流程自動化?
- 雲擴RPA機器人突破電商疆界,助力電商自動化。機器人
- SCARA機器人:邁向自動化的下一步機器人