自动化(爬虫)工具 DrissionPage 初识安装与模式介绍,使用笔记(一)

自动化(爬虫)工具 DrissionPage 初识安装与模式介绍,使用笔记(一)

DrissionPage 介绍

他是 SeleniumRequests的结合体,同时实现网页与接口自动化,DrissionPage 官方文档

目录

  1. DrissionPage 安装
  2. DrissionPage 三种模式介绍
  3. DrissionPage 语法格式

安装

pip install DrissionPage
pip install DrissionPage --upgrade  # 升级为最新稳定版
pip install DrissionPage==4.0.0b17  # 安装指定版本

三种模式介绍

三种模式分别是 ChromiumPage仅浏览器(网页)操作模式、SessionPage仅数据包(接口)操作模式、WebPage同时使用浏览器(网页)+数据包(接口)的操作模式

  1. ChromiumPage仅浏览器(网页)操作模式,可理解为 Selenium
from DrissionPage import ChromiumPage  # 直接导入 ChromiumPage 并实例化即可启用

page = ChromiumPage()
  1. SessionPage仅数据包(接口)操作模式,可理解为 Requests
from DrissionPage import SessionPage  # 直接导入 SessionPage 并实例化即可启用

page = SessionPage()
  1. WebPage同时使用浏览器(网页)+数据包(接口)的操作模式
from DrissionPage import WebPage  # 直接导入 WebPage 并实例化即可启用

page = WebPage()

语法格式

DrissionPage并没有固定的语法格式,可直接导入并实例化使用,也可结合 Python 类使用,举例,仅做举例(具体 API 的使用后续说明)

  1. 仅浏览器(网页)操作模式
from DrissionPage import ChromiumPage

page = ChromiumPage()  # 实例化对象
page.get('https://gitee.com/login')  # 打开url
ele = page.ele('#user_login')  # 定位到账号文本框,获取文本框元素
ele.input('您的账号')  # 输入对文本框输入账号
page.ele('#user_password').input('您的密码')  # 定位到密码文本框并输入密码
page.ele('@value=登 录').click()  # 点击登录按钮
  1. 仅数据包(接口)操作模式
from DrissionPage import SessionPage

page = SessionPage()  # 实例化对象
for i in range(1, 4):  # 循环3页
    page.get(f'https://gitee.com/explore/all?page={i}')  # 访问某一页的网页
    links = page.eles('.title project-namespace-path')  # 获取所有开源库<a>元素列表
    for link in links:  # 遍历所有<a>元素
        print(link.text, link.link)  # 打印链接信息
  1. 同时使用浏览器(网页)+数据包(接口)的操作模式
from DrissionPage import WebPage

page = WebPage(mode='d')  # 实例化对象,默认网页模式,mode: 'd' 或 's',即driver模式和session模式
page.get('https://gitee.com/explore/all')  # 访问网址
page.change_mode()  # 模式相互切换
items = page.ele('.ui relaxed divided items explore-repo__list').eles('.item')  # 获取所有行元素
for item in items:  # 遍历获取到的元素
    print(item('t:h3').text)  # 打印元素文本
    print(item('.project-desc mb-1').text)
    print()

DrissionPage 官方文档
本文章的原文地址
GitHub主页

posted @ 2024-06-27 14:55  星尘的博客  阅读(5)  评论(0编辑  收藏  举报