基于Python的網(wǎng)頁自動(dòng)化工具DrissionPage的使用詳解
簡介
DrissionPage 是一個(gè)基于 python 的網(wǎng)頁自動(dòng)化工具。它既能控制瀏覽器,也能收發(fā)數(shù)據(jù)包,還能把兩者合而為一??杉骖櫈g覽器自動(dòng)化的便利性和 requests 的高效率。它功能強(qiáng)大,內(nèi)置無數(shù)人性化設(shè)計(jì)和便捷功能。它的語法簡潔而優(yōu)雅,代碼量少,對(duì)新手友好。
安裝
pip install DrissionPage # 升級(jí)最新穩(wěn)定版 pip install DrissionPage --upgrade # 指定版本升級(jí) pip install DrissionPage==4.0.0b17
主要對(duì)象
ChromiumPage:單純用于操作瀏覽器的頁面對(duì)象
SessionPage:單純用于收發(fā)數(shù)據(jù)包的頁面對(duì)象
WebPage:整合瀏覽器控制和收發(fā)數(shù)據(jù)包于一體的頁面對(duì)象
嘗試啟動(dòng)瀏覽器
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' # 請(qǐng)改為你電腦內(nèi)Chrome可執(zhí)行文件路徑 ChromiumOptions().set_browser_path(path).save()
定位元素、觸發(fā)事件
from DrissionPage import ChromiumPage # 創(chuàng)建頁面對(duì)象,并啟動(dòng)或接管瀏覽器 page = ChromiumPage() # 跳轉(zhuǎn)到登錄頁面 page.get('https://gitee.com/login') # 定位到賬號(hào)文本框,獲取文本框元素 ele = page.ele('#user_login') # 輸入對(duì)文本框輸入賬號(hào) ele.input('您的賬號(hào)') # 定位到密碼文本框并輸入密碼 page.ele('#user_password').input('您的密碼') # 點(diǎn)擊登錄按鈕 page.ele('@value=登 錄').click()
遍歷數(shù)據(jù)
from DrissionPage import SessionPage # 創(chuàng)建頁面對(duì)象 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)建頁面對(duì)象 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)頁自動(dòng)化工具DrissionPage的使用詳解的文章就介紹到這了,更多相關(guān)Python DrissionPage網(wǎng)頁自動(dòng)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn)
這篇文章主要介紹了Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10VSCode搭建Django開發(fā)環(huán)境的圖文步驟
本篇介紹在vscode環(huán)境下搭建Django開發(fā)環(huán)境的詳細(xì)步驟,包括Python、Django、VSCode等,以及它們的安裝和配置方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09解決使用Spyder IDE時(shí)matplotlib繪圖的顯示問題
這篇文章主要介紹了解決使用Spyder IDE時(shí)matplotlib繪圖的顯示問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json
這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Pycharm添加虛擬解釋器報(bào)錯(cuò)問題解決方案
這篇文章主要介紹了Pycharm添加虛擬解釋器報(bào)錯(cuò)問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10