基于Python的網(wǎng)頁自動化工具DrissionPage的使用詳解
簡介
DrissionPage 是一個基于 python 的網(wǎng)頁自動化工具。它既能控制瀏覽器,也能收發(fā)數(shù)據(jù)包,還能把兩者合而為一??杉骖櫈g覽器自動化的便利性和 requests 的高效率。它功能強(qiáng)大,內(nèi)置無數(shù)人性化設(shè)計(jì)和便捷功能。它的語法簡潔而優(yōu)雅,代碼量少,對新手友好。
安裝
pip install DrissionPage # 升級最新穩(wěn)定版 pip install DrissionPage --upgrade # 指定版本升級 pip install DrissionPage==4.0.0b17
主要對象
ChromiumPage:單純用于操作瀏覽器的頁面對象
SessionPage:單純用于收發(fā)數(shù)據(jù)包的頁面對象
WebPage:整合瀏覽器控制和收發(fā)數(shù)據(jù)包于一體的頁面對象
嘗試啟動瀏覽器
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get('http://g1879.gitee.io/DrissionPageDocs')
設(shè)置路徑
首先通過Chrome快捷方式是找到Chrome路徑。

from DrissionPage import ChromiumOptions path = r'D:\Chrome\Chrome.exe' # 請改為你電腦內(nèi)Chrome可執(zhí)行文件路徑 ChromiumOptions().set_browser_path(path).save()
定位元素、觸發(fā)事件
from DrissionPage import ChromiumPage
# 創(chuàng)建頁面對象,并啟動或接管瀏覽器
page = ChromiumPage()
# 跳轉(zhuǎn)到登錄頁面
page.get('https://gitee.com/login')
# 定位到賬號文本框,獲取文本框元素
ele = page.ele('#user_login')
# 輸入對文本框輸入賬號
ele.input('您的賬號')
# 定位到密碼文本框并輸入密碼
page.ele('#user_password').input('您的密碼')
# 點(diǎn)擊登錄按鈕
page.ele('@value=登 錄').click()
遍歷數(shù)據(jù)
from DrissionPage import SessionPage
# 創(chuàng)建頁面對象
page = SessionPage()
# 爬取3頁
for i in range(1, 4):
# 訪問某一頁的網(wǎng)頁
page.get(f'https://gitee.com/explore/all?page={i}')
# 獲取所有開源庫<a>元素列表
links = page.eles('.title project-namespace-path')
# 遍歷所有<a>元素
for link in links:
# 打印鏈接信息
print(link.text, link.link)
切換模式
from DrissionPage import WebPage
# 創(chuàng)建頁面對象
page = WebPage()
# 訪問網(wǎng)址
page.get('https://gitee.com/explore')
# 查找文本框元素并輸入關(guān)鍵詞
page('#q').input('DrissionPage')
# 點(diǎn)擊搜索按鈕
page('t:button@tx():搜索').click()
# 等待頁面加載
page.wait.load_start()
# 切換到收發(fā)數(shù)據(jù)包模式
page.change_mode()
# 獲取所有行元素
items = page('#hits-list').eles('.item')
# 遍歷獲取到的元素
for item in items:
# 打印元素文本
print(item('.title').text)
print(item('.desc').text)
print()
參考
https://g1879.gitee.io/drissionpagedocs/
到此這篇關(guān)于基于Python的網(wǎng)頁自動化工具DrissionPage的使用詳解的文章就介紹到這了,更多相關(guān)Python DrissionPage網(wǎng)頁自動化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn)
這篇文章主要介紹了Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
VSCode搭建Django開發(fā)環(huán)境的圖文步驟
本篇介紹在vscode環(huán)境下搭建Django開發(fā)環(huán)境的詳細(xì)步驟,包括Python、Django、VSCode等,以及它們的安裝和配置方法,具有一定的參考價值,感興趣的可以了解一下2023-09-09
解決使用Spyder IDE時matplotlib繪圖的顯示問題
這篇文章主要介紹了解決使用Spyder IDE時matplotlib繪圖的顯示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json
這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

