1. 程式人生 > >推薦一款最強Python自動化神器!不用寫一行程式碼!

推薦一款最強Python自動化神器!不用寫一行程式碼!

![](https://tva1.sinaimg.cn/large/0081Kckwgy1glokywezeaj30u00dgmxl.jpg) 搞過自動化測試的小夥伴,相信都知道,在Web自動化測試中,有一款自動化測試神器工具: `selenium`。結合標準的WebDriver API來編寫Python自動化指令碼,可以實現解放雙手,讓指令碼代替人工在Web瀏覽器上完成指定的操作。 雖然`selenium`有完備的文件,但也需要一定的學習成本,對於一個純小白來講還是有些門檻的。 最近,**微軟開源**了一個非常強大的自動化專案叫**「playwright-python」**,專案地址: ```python https://github.com/microsoft/playwright-python ``` 它支援主流的瀏覽器,包含:`Chrome`、`Firefox`、`Safari`、`Microsoft Edge` 等,同時支援以**無頭模式**、**有頭模式執行**,並提供了`同步`、`非同步`的 API,可以結合 `Pytest` 測試框架使用,並且支援瀏覽器端的自動化指令碼錄製。 而對於Python愛好者來說,還有一個更大的福利,這個專案是針對Python語言的純自動化工具,**可以做到,連一行程式碼都不用寫,就能實現自動化功能**。聽起來,簡直太碉堡了! ![](https://tva1.sinaimg.cn/large/0081Kckwgy1glokzjmfhbj30a008ogmg.jpg) 可能你會覺得有點不可思議,真的不用寫一行程式碼嗎?但它真的就是這麼厲害。下面我們一起看下這個神器。 ## **1.** Playwright介紹 Playwright是一個強大的Python庫,僅用一個API即可自動執行`Chromium`、`Firefox`、`WebKit`等主流瀏覽器自動化操作,並同時支援以**無頭模式**、**有頭模式**執行。 Playwright提供的自動化技術是綠色的、功能強大、可靠且快速,支援`Linux`、`Mac`以及`Windows`作業系統。 ![](https://tva1.sinaimg.cn/large/0081Kckwgy1glom60ty7aj31aq0q8dka.jpg) **官網:** ``` https://playwright.dev/ ``` ![](https://tva1.sinaimg.cn/large/0081Kckwgy1glolzgfopyj31mb0u0dm9.jpg) 從官網上來看,官方給`Playwright`定位是一款真正意義上的Web端到端測試工具。 ## **2.** Playwright使用 #### 2.1 安裝 Playwright功能強大,但它的安裝步驟,非常簡單,只需要 2 步: **第 1 步,安裝 playwright-python 依賴庫** (需要注意的是,playwright庫需要依賴Python3.7+以上) ```python # 安裝依賴庫 ➜ ~ pip3 install playwright Looking in indexes: https://pypi.douban.com/simple Collecting playwright Downloading https://pypi.doubanio.com/packages/08/f0/9f937ccff3221685d4a8bd406649c85855b9b6a2fafe75920b02151b48e0/playwright-0.162.2-py3-none-macosx_10_13_x86_64.whl (58.2 MB) |████████████████████████████████| 58.2 MB 1.6 MB/s Collecting greenlet==1.0a1 Downloading https://pypi.doubanio.com/packages/aa/74/6e93515873829a8d894863bbae1d709405bdd50d66fdf239480cc9db0598/greenlet-1.0a1-cp38-cp38-macosx_10_9_x86_64.whl (86 kB) |████████████████████████████████| 86 kB 6.9 MB/s Collecting typing-extensions Downloading https://pypi.doubanio.com/packages/60/7a/e881b5abb54db0e6e671ab088d079c57ce54e8a01a3ca443f561ccadb37e/typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting pyee>=8.0.1 Downloading https://pypi.doubanio.com/packages/0d/0a/933b3931107e1da186963fd9bb9bceb9a613cff034cb0fb3b0c61003f357/pyee-8.1.0-py2.py3-none-any.whl (12 kB) Installing collected packages: greenlet, typing-extensions, pyee, playwright Successfully installed greenlet-1.0a1 playwright-0.162.2 pyee-8.1.0 typing-extensions-3.7.4.3 ``` 可以在`https://pypi.org/project/playwright/`檢視它的依賴版本資訊。 **第 2 步,安裝主流的瀏覽器驅動** 這樣,會將 Chromeium、Firefox、Webkit 瀏覽器驅動下載到本地 ``` # 安裝瀏覽器驅動(安裝過程稍微有點慢,請耐心等待) ➜ ~ python3 -m playwright install Downloading chromium v827102 - 121.3 Mb [====================] 100% 0.0s chromium v827102 downloaded to /Users/xxx/Library/Caches/ms-playwright/chromium-827102 Downloading firefox v1205 - 74.1 Mb [ ] 1% 37767.9s ``` 3.**如果想檢視`Playwright`支援的功能**, 可以直接在命令列輸入: ```python ➜ ~ python3 -m playwright help Usage: index [options] [command] Options: -V, --version output the version number -b, --browser browser to use, one of cr, chromium, ff, firefox, wk, webkit (default: "chromium") --color-scheme emulate preferred color scheme, "light" or "dark" --device emulate device, for example "iPhone 11" --geolocation specify geolocation coordinates, for example "37.819722,-122.478611" --lang specify language / locale, for example "en-GB" --proxy-server specify proxy server, for example "http://myproxy:3128" or "socks5://myproxy:8080" --timezone