🌏 导入
DrissionPage 提供的功能放在以下几个路径:
from DrissionPage import ****
:浏览器类、配置类、页面类from DrissionPage.errors import ****
:异常from DrissionPage.common import ****
:辅助工具from DrissionPage.items import ****
:衍生对象,用于类型判断
✅️ 浏览器类
📌 Chromium
浏览器类用于连接浏览器、管理标签页及其它和浏览器总体有关的操作。
浏览器类相当于总管,它可以作为浏览器入口,使用它产生 Tab 对象去操控每个标签页。
from DrissionPage import Chromium
✅️ 页面类
📌 ChromiumPage
ChromiumPage
是将浏览器对象和第一个标签页对象封装在一起,用于控制浏览器。
ChromiumPage
只是简化了操作,使用效果和直接使用Chromium
对象基本一致。
唯一区别是,ChromiumPage
生成的标签页对象是ChromiumTab
,不能切换模式。
from DrissionPage import ChromiumPage
📌 WebPage
WebPage
与ChromiumPage
相似,不过其自身及其产生的 Tab 对象可切换模式,既可控制浏览器,也可收发数据包。
from DrissionPage import WebPage
📌 SessionPage
SessionPage
用于收发数据包,是对 requests 和 lxml 进行封装实现的。
它把网络连接和结果解析封装成页面。操作逻辑和其它页面一致。
from DrissionPage import SessionPage
✅️ 配置工具
📌 ChromiumOptions
ChromiumOptions
类用于设置浏览器启动参数。
这些参数只有在启动浏览器时有用,接管已存在的浏览器时是不生效的。
from DrissionPage import ChromiumOptions
📌 SessionOptions
SessionOptions
类用于设置Session
对象启动参数。
用于配置SessionPage
或WebPage
的 s 模式的连接参数。
from DrissionPage import SessionOptions
📌 Settings
Settings
用于设置全局运行配置,如找不到元素时是否抛出异常等。
from DrissionPage.common import Settings
✅️ 辅助工具
📌 Keys
键盘按键类,用于键入 ctrl、alt 等按键。
from DrissionPage.common import Keys
📌 By
与 selenium 一致的By
类,便于项目迁移。
from DrissionPage.common import By
📌 其它工具
这些工具都在DrissionPage.common
路径中。
wait_until
:可等待传入的方法结果为真make_session_ele
:从 html 文本生成ChromiumElement
对象configs_to_here
:把配置文件复制到当前路径get_blob
:获取指定的 blob 资源tree
:用于打印页面对象或元素对象结构from_selenium
:用于对接 selenium 代码from_playwright
:用于对接 playwright 代码
from DrissionPage.common import wait_until
from DrissionPage.common import make_session_ele
from DrissionPage.common import configs_to_here
✅️ 异常
异常放在DrissionPage.errors
路径。
全部 异常详见进阶使用章节。
from DrissionPage.errors import ElementNotFoundError
✅️ 衍生对象类型
Tab、Element 等被其它对象生成的对象,开发过程中需要类型判断时需要导入这些类型。
可在DrissionPage.items
路径导入。
from DrissionPage.items import SessionElement
from DrissionPage.items import ChromiumElement
from DrissionPage.items import ShadowRoot
from DrissionPage.items import NoneElement
from DrissionPage.items import ChromiumTab
from DrissionPage.items import MixTab
from DrissionPage.items import ChromiumFrame