前言
Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selenium 息息相關(guān),基于Selenium的更輕量級的瀏覽器自動化。
確實,Helium 針對 Selenium 進行了封裝,它屏蔽了 Selenium 很多實現(xiàn)細(xì)節(jié),提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化
官方表示,要實現(xiàn)同樣的功能,Helium 相比 Selenium 要少 30% - 50% 的代碼
目前,Helium 僅支持 Chrome 和 FireFox
Helium特點
Helium 主要包含下面 6 個優(yōu)點:
Helium 自帶 WebDriver,不需要下載、配置瀏覽器驅(qū)動
內(nèi)嵌頁面 iframe 頁面元素直接操作,不需要使用 switch_to.frame() 切換 iframe
窗體管理更方便,可以直接使用窗口標(biāo)題或部分標(biāo)題內(nèi)容來切換窗體
隱式等待,針對某個元素執(zhí)行點擊操作,Selenium 如果元素沒有出現(xiàn),腳本會執(zhí)行失敗;而 Helium 默認(rèn)最多等待 10s,等待元素出現(xiàn)后立馬執(zhí)行點擊操作
顯式等待,Helium 提供更加優(yōu)雅的 API 來等待頁面元素出現(xiàn)
API 更簡潔直觀,代碼量少
Helium 主要缺點,體現(xiàn)在:
由于封裝,屏蔽了很多細(xì)節(jié),所以它不合適二次開發(fā)
目前僅支持 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/')
# 輸入搜索內(nèi)容
write('Helium')
# 等待按鈕"百度一下"出現(xiàn)
wait_until(Button('百度一下').exists)
# 高亮展示按鈕百度一下
highlight(Button('百度一下'))
time.sleep(2)
# 點擊按鈕百度一下
click(Button('百度一下'))
# 關(guān)閉瀏覽器
kill_browser()
Helium提供的方法詳見博客
https://www.cnblogs.com/weitung/p/13532081.html