Automagica小試


  近期工作中接觸RPA(Robotic Process Automation,即機器人流程自動化)方向的項目,在做技術預研中,接觸了 UiBot 和 Automagica 這兩款流程自動化的組件。其中 UiBot 是一款成熟的軟件產品,安裝其平台后,可以直接按用戶的業務場景,通過繪制流程圖+配置動作和參數的方式,定制自動化流程場景。當然它也提供了Python、C/C++、Lua、.Net等多種編程語言的擴展接口,支持更靈活的編程式開發。它入門門檻較低,直接通過點擊就可以實現諸如瀏覽器數據抓取、文檔批量操作等一般的業務場景,非工程人員也可以快速上手使用。這里我們對UiBot不做深入介紹,而來了解一下 Automagica  這個平台。

  Automagica 是一個開源智能機器人流程自動化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica 的python 函數庫,可以通過簡單程序腳本實現打開各種應用程序並對應用進行操作的功能,使自動化跨平台流程變得輕而易舉。

  首先,Automagica 需要 Python 3.7 環境,官方支持 Windows 10 平台,Linux 和 Mac 目前官方還不支持。我這里使用的實驗環境是Python 3.7.3,操作系統為 Win10系統。沒有安裝Python的請自行去官網下載(官網下載地址: https://www.python.org/downloads/release/python-373),請注意選擇3.7+版本。背景交代如上。
 
  • 安裝

方式一:通過 pip 工具安裝

  如果你已經安裝過pip工具,可以使用pip命令直接進行automagica模塊的下載安裝(沒有pip工具的,可以參考鏈接:https://www.cnblogs.com/vikezhu/p/6576595.html 進行安裝):

pip install https://github.com/OakwoodAI/automagica/tarball/master

  但是,我使用該方式安裝時,因為網絡原因一直超時報錯。無奈,我只能另擇他途。

方式二:安裝window軟件包

  官網下載地址: https://portal.automagica.com/ ,下載后得到一個名為【Automagica_Setup_XXXXX.exe】的安裝包,80+MB。正常安裝無須贅述,此處的安裝路徑為: C:\MySoftware\Automagica2.0 。
 
  • 開發

  實驗案例的業務場景是:自動打開Chrome瀏覽器,跳轉到百度首頁,然后檢索關鍵字“automagica”。

  這里業務場景較簡單,我們直接使用記事本進行開發,代碼如下:

 1 #!/usr/bin/python
 2 # -*- coding: UTF-8 -*-
 3 import sys
 4 sys.path.append("C:\MySoftware\Automagica2.0\pkgs")
 5 #引入automagica 模塊
 6 from automagica import *
 7 #引入selenium 模塊
 8 from selenium import webdriver
 9 
10 #創建chrome瀏覽器實例,跳轉到百度首頁
11 #browser = Chrome()
12 browser = webdriver.Chrome()
13 browser.get('https://baidu.com/')
14 #獲取搜索輸入框,嵌入關鍵字automagica
15 search_input = browser.find_element_by_name('wd')
16 search_input.send_keys("automagica")
17 #獲取檢索按鈕,點擊
18 search_btn = browser.find_element_by_id('su')
19 search_btn.click()
  • 說明

  ## 第4行:sys.path.append("C:\MySoftware\Automagica2.0\pkgs")

  采用安裝包的形式,automagica的庫並不在 系統安裝的python環境的默認掃描路徑下,因此此行代碼是為了載入Automagica平台所有模塊所在的路徑:Automagica安裝目錄下的pkgs路徑下。

  ## 第6行:from automagica import * 

  引用automagica的核心庫,鼠標、鍵盤、瀏覽器、系統應用、Office、PDF等操作函數,都依賴於該模塊。

  ## 第8行:from selenium import webdriver 

  參考官方demo,並沒有這行引用。但是我不加該包的導入直接運行腳本(同時要將12行改為11行),一直報錯:selenium.common.exceptions.WebDriverException: Message: session not created: This version of ChromeDriver only supports Chrome version 78。
  很明顯是瀏覽器驅動和瀏覽器版本不匹配。於是我確認一下我的Chrome瀏覽器版本:80.0.3987.116(64位),再查詢了一下ChromeDriver 版本:80.0.3987.16 (在cmd中輸入命令:chromedriver),不應該啊,難道python運行時使用的不是瀏覽器自帶的ChromeDriver ...
  網上的一些解決方案都是:降低Chrome版本,使之與ChromeDriver 匹配。(后來我重裝了一個78版本的Chrome,不加第8行導包的舊腳本實測,確實可以運行成功!)
  不過一開始我不太想重裝瀏覽器,於是又查到一些單獨使用 selenium 庫的案例,相關腳本在創建瀏覽器實例時,使用的語法是:webdriver.Chrome()。試之,也可以成功運行!
  這里的疑問留待后續進一步理解automagica后再來解答吧。

  ## 第13~18行:browser 和頁面元素的API

  這幾行都是瀏覽器的相關操作,包括輸入字符、點擊等動作。詳情請參考官方參考文檔:https://github.com/oakwoodai/automagica 中Activities部分。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM