前言
Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selenium 息息相關,基於Selenium的更輕量級的瀏覽器自動化。
確實,Helium 針對 Selenium 進行了封裝,它屏蔽了 Selenium 很多實現細節,提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化
官方表示,要實現同樣的功能,Helium 相比 Selenium 要少 30% - 50% 的代碼
目前,Helium 僅支持 Chrome 和 FireFox
Helium特點
Helium 主要包含下面 6 個優點:
-
Helium 自帶 WebDriver,不需要下載、配置瀏覽器驅動
-
內嵌頁面 iframe 頁面元素直接操作,不需要使用 switch_to.frame() 切換 iframe
-
窗體管理更方便,可以直接使用窗口標題或部分標題內容來切換窗體
-
隱式等待,針對某個元素執行點擊操作,Selenium 如果元素沒有出現,腳本會執行失敗;而 Helium 默認最多等待 10s,等待元素出現后立馬執行點擊操作
-
顯式等待,Helium 提供更加優雅的 API 來等待頁面元素出現
-
API 更簡潔直觀,代碼量少
Helium 主要缺點,體現在:
-
由於封裝,屏蔽了很多細節,所以它不合適二次開發
-
目前僅支持 Chrome 和 FireFox 瀏覽器
-
版本更新慢、遺留 Bug 及文檔少
安裝Helium
1.安裝方法
https://libraries.io/pypi/helium
要求:
Requires: Python >=3
# pip安裝
pip3 install helium -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com
快速開始
百度搜索案例
from helium import *
import time
# 打開chrome瀏覽器
start_chrome('https://www.baidu.com/')
# 輸入搜索內容
write('Helium')
# 等待按鈕"百度一下"出現
wait_until(Button('百度一下').exists)
# 高亮展示按鈕百度一下
highlight(Button('百度一下'))
time.sleep(2)
# 點擊按鈕百度一下
click(Button('百度一下'))
# 關閉瀏覽器
kill_browser()
Helium提供的方法詳見下一篇博客
歡迎交流
310678696
參考: