[RPA-Python]自動化腳本入門使用---1


RPA Python

​ RPA for Python 簡單而強大的 API 讓機器人流程自動化變得有趣!您可以使用它快速自動化網站、桌面應用程序或命令行上重復的耗時任務。

相關鏈接

安裝(windows)

  • 將下載好的TagUI v6.46 for Windows解壓放在C:\Users\PX_Lenovo\AppData\Roaming文件夾下
  • 安裝OpenJDK for Windows
  • 下載chrome
  • 安裝python
  • 安裝pip
    • 下載pip源碼包:https://pypi.org/project/pip/#files
    • 下載pip-22.0.4.tar.gz不是*.whl文件
    • 解壓該壓縮包
    • 通過命令行或者windows powershell進入解壓后的目錄
    • 執行python setup.py install
    • 在環境變量Path中加入C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Scriptspip的安裝目錄
    • 可以使用pip了,執行pip list測試一些
  • 執行命令pip install rpa

使用Jupyter運行

安裝Jupyter

  • windows powershell執行pip install jupyterlab
  • 安裝完成后再windows powershell執行jupyter notebook,會自動的打開一個網頁,在網頁上編輯代碼

使用Jupyter

​ 啟動Jupyter,盡量新建一個空文件夾啟動,因為從powershell 啟動后,Jupyter會自動視該文件夾為工作目錄。

​ 在網頁上點擊new,創建python腳本:

​ 一個In中可以寫多行代碼,也可以寫一行,運行按鈕可以單獨執行某個Inshift+enter添加新的In

​ 鼠標可以選擇單個In來執行,比如import一次后就不必再import,類似init也只需要一次,除非重啟內核(界面上的刷新按鈕)。

​ 第一次執行,一定要跑importinit,例如圖中只需要執行一次In[1]In[2]In[3]可以多次執行。

練習

基礎知識

這里的rimport rpa as r

r.init( visual_automation = True, chrome = false)

​ 這個是可以這樣寫r.init(),visual_automation = True表示動畫可見。

r.url()

​ 要輸入一個網址,例如:r.url('https://www.baidu.com/')

r.type( xpath, words)用法1

​ xpath表示輸入的網頁xpath,words表示輸入的是什么內容。xpath獲取方式如下,谷歌瀏覽器按F12,然后在想要查看位置右鍵檢查


r.type( image, words)用法2

​ 例如:r.type('message_box.png', 'Hi Gillian,[enter]This is...')這個該網頁或者圖的某一部位的圖,它會在該網頁(或其他)找到message_box.png圖所指示的位置,在該位置輸入數據。其中[enter]表示按下Enter按鍵。

r.read( DOM/XPath/Region/Image)

**注:DOM 和 XPath 標識符僅適用於 Chrome/Edge。要自動化其他瀏覽器,請使用點/區域和圖像標識符。**
# DOM
這匹配網頁的 DOM(文檔對象模型)中的元素,匹配id、名稱、類屬性或元素本身的文本。
`click Getting started`

# XPath
這與網頁中元素的XPath匹配。這是一種更明確、更強大的定位 Web 元素的方式。
**注:您也可以使用 CSS 選擇器代替 XPath,但首選 XPath。**
`click //body/div[1]/nav/div/div[1]/a`

# Point
點擊屏幕中的點。
`click (200,500)`
這與屏幕上距屏幕左側 200 像素和距屏幕頂部 500 像素的點相匹配。

# Region
某個區域。
`read (300,400)-(500,550) to some-variable`
這與兩點 (300,400) 和 (500,550) 之間形成的矩形相匹配。

# Image
點擊某個圖片,實際上是利用圖形識別完成。
`click button.png`
這匹配屏幕上看起來類似於圖像文件的任何區域button.png(在流程的文件夾中)。您首先需要截取button.png. 這使用了視覺自動化。
`click image/button.png`
這允許您button.png在image文件夾中查找。

​ 這里可以通過OCR讀取圖片中的文字,例如:

  • print(r.read('//*[@id="hotsearch-content-wrapper"]/li[1]/a/span[2]'))
  • print(r.read('pdf_window.png'))

r.snap( DOM/XPath/Region/Image/page, filename)

​ 這個表示截圖,前面表示從哪里截圖,后面表示保存的路徑和文件名。例如:

r.snap('page', 'TEMP/results.png')

支持的按鍵如下:

[shift] [ctrl] [alt] [win] [cmd] [enter]
[space] [tab] [esc] [backspace] [delete] [clear]
[up] [down] [left] [right] [pageup] [pagedown]
[home] [end] [insert] [f1] .. [f15]
[printscreen] [scrolllock] [pause] [capslock] [numlock]

網頁搜索采集數據

點擊特定元素

使用按鍵打開應用

r.keyboard('[win]r')
r.keyboard('explorer[enter]')
r.type('TEMP/explorer_add_bar.png', 'C:\\Users\\PX_Lenovo\\Documents\\TEMP[enter]')

使用鼠標打開右鍵打開文件

r.keyboard('[win]r')
r.keyboard('explorer[enter]')
r.type('TEMP/explorer_add_bar.png', 'C:\\Users\\PX_Lenovo\\Pictures[enter]')
r.click('TEMP/window_max_bt.png');
r.hover('TEMP/aim_pic_name.png')
r.rclick('TEMP/aim_pic_name.png')
r.click('TEMP/r_key_open_ways.png');
r.click('TEMP/r_key_open_ways_org_pic.png');

使用滾輪

r.vision('wheel(WHEEL_UP, 120)')

獲取豆瓣最新電影排行

r.url('https://movie.douban.com/')
r.click('//*[@id="db-nav-movie"]/div[2]/div/ul/li[4]/a')
r.wait(1)
print(r.read('//*[@id="content"]/div/div[1]/div/div'))
r.click('//*[@id="content"]/div/div[1]/div/div/table[1]/tbody/tr/td[2]/div/a')

OCR

ocr主要是使用read函數

r.url('https://www.baidu.com')
r.type('//*[@id="kw"]', '新冠肺炎[enter]')
r.wait(1)
r.snap('page', 'TEMP/results.png')
print(r.read('//*[@id="1"]/div/div[2]/a/div[2]'))


免責聲明!

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



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