# ✔️ 安装 ```shell pip install DrissionPage ``` 升级: ```shell pip install DrissionPage --upgrade ``` # ✔️ 导入 根据实际须要导入相应对象: ```python from DrissionPage import WebPage # 集成两种模式,推荐使用 from DrissionPage import MixPage # 集成两种模式,基于selenium from DrissionPage import ChromiumPage # 只控制浏览器,无须切换s模式 from DrissionPage import SessionPage # 只收发数据包,无须使用浏览器 from DrissionPage import DriverOptions # 浏览启动参数管理器 from DrissionPage import SessionOptions # Session对象启动参数管理器 ``` # ✔️ 第一次使用 如果只使用 s 模式是无须初始化的,导入后就可以直接使用。 如果使用 d 模式,`WebPage`须指定浏览器执行文件路径。`MixPage`还须下载与浏览器版本匹配的 driver 文件。这里只介绍`WebPage`需要的设置。 多数情况下,如果系统内安装了 Chrome 浏览器,或在系统路径中指定了 Chrome 执行文件,DrissionPage 运行时会自动从系统路径和注册表(Windows)中寻找路径,可直接运行,无须设置。 如果程序没有找到路径,或需要手动设置,可使用以下方法: 新建一个**临时文件** ,修改并运行以下代码,作用是手动指定 Chrome 路径,记录到配置文件,以后程序会自动读取其中的配置,无须再写。 ```python from DrissionPage.easy_set import set_paths # 请将以下路径修改为本机实际路径 set_paths(chrome_path=r"D:\chrome\chrome.exe") # 浏览器执行文件路径 ``` !> **注意:**
这段代码只用于设置配置文件中的路径信息,**运行一次即可**,勿写到正式程序里 。 除了把配置信息写在配置文件,还能把信息直接写在代码里,后面章节再详细叙述。 # ✔️ 上手示例 现在,我们通过一些例子,来直观感受一下 DrissionPage 的工作方式。 ## 📍 用 d 模式登录 gitee 网站 网址:https://gitee.com/login 此示例演示使用控制浏览器的方式自动登录 gitee 网站。 !> **注意:**
如果您有已打开的 Chrome 浏览器,请先关闭,否则会造成冲突。后面在 [创建页面对象](%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%5C%E4%BD%BF%E5%88%9B%E5%BB%BA%E9%A1%B5%E9%9D%A2%E5%AF%B9%E8%B1%A1.md) 章节再介绍多 Chrome 浏览器共存的方法。 ```python from DrissionPage import WebPage # 用 d 模式创建页面对象(默认模式) page = WebPage() # 跳转到登录页面 page.get('https://gitee.com/login') # 定位到账号文本框并输入账号 page.ele('#user_login').input('你的账号') # 定位到密码文本框并输入密码 page.ele('#user_password').input('你的密码') # 点击登录按钮 page.ele('@value=登 录').click() ``` ## 📍 用 s 模式爬取 gitee 网站开源列表 以下代码可直接运行: ```python from DrissionPage import WebPge # 用 s 模式创建页面对象 page = WebPage('s') for i in range(1, 4):# 爬取3页 # 跳转到第几页 p.get(f'https://gitee.com/explore/all?page={i}') # 遍历所有库链接并打印 for link in p.eles('.title project-namespace-path'): print(link.text, link.link) ``` 结果: ``` 小熊派开源社区/BearPi-HM_Nano https://gitee.com/bearpi/bearpi-hm_nano 明月心/PaddleSegSharp https://gitee.com/raoyutian/PaddleSegSharp RockChin/QChatGPT https://gitee.com/RockChin/QChatGPT TopIAM/eiam https://gitee.com/topiam/eiam 以下省略。。。 ``` ## 📍 `ChromiumPage`和`SessionPage` 上面两个例子都不用转换模式,可以不需要用`WebPage`,而使用对应模式的页面对象也可以,使用方法是一样的。 ```python from DrissionPage import ChromiumPage from DrissionPage import SessionPage d_page = ChromiumPage() # 用于控制浏览器 s_page = SessionPage() # 用于收发数据包 # 以下省略…… ``` # ✔️ 说明 无论电脑安装的 Chrome 能否正常使用,都建议使用绿色版 Chrome,并且设置`user_data_path`。 如果计划程序打包成 exe 文件,就不能使用默认配置文件记录配置,具体方法请查看“使用方法->打包程序”章节。