基于Python的網(wǎng)頁自動化工具DrissionPage的使用詳解
簡介
DrissionPage 是一個基于 python 的網(wǎng)頁自動化工具。它既能控制瀏覽器,也能收發(fā)數(shù)據(jù)包,還能把兩者合而為一??杉骖櫈g覽器自動化的便利性和 requests 的高效率。它功能強大,內(nèi)置無數(shù)人性化設(shè)計和便捷功能。它的語法簡潔而優(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('您的密碼') # 點擊登錄按鈕 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') # 點擊搜索按鈕 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ā)起微信支付的實現(xiàn)
這篇文章主要介紹了Django1.11配合uni-app發(fā)起微信支付的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10VSCode搭建Django開發(fā)環(huán)境的圖文步驟
本篇介紹在vscode環(huán)境下搭建Django開發(fā)環(huán)境的詳細步驟,包括Python、Django、VSCode等,以及它們的安裝和配置方法,具有一定的參考價值,感興趣的可以了解一下2023-09-09解決使用Spyder IDE時matplotlib繪圖的顯示問題
這篇文章主要介紹了解決使用Spyder IDE時matplotlib繪圖的顯示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json
這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01