首页 / DrissionPage 入门教程 / 第一个自动化脚本

DrissionPage 入门教程

第一个自动化脚本

本教程共 42 篇 · 第 5 篇 · 更新于 2026-07-29 · 约 5 分钟阅读

DrissionPageDrissionPage 入门教程快速上手入门示例百度搜索

5. 第一个自动化脚本

本节目标:跑通第一个完整脚本,体验”打开网页 -> 定位元素 -> 交互操作”的完整流程。学完能建立直观印象。

前面讲了不少概念。现在来点实际的。

我们用 DrissionPage 在百度搜一个词,然后打印搜索结果。

完整代码

直接复制运行:

from DrissionPage import ChromiumPage

# 创建页面对象,自动启动浏览器
page = ChromiumPage()

# 访问百度首页
page.get('https://www.baidu.com')

# 定位搜索框,输入关键词
page('#kw').input('DrissionPage')

# 点击搜索按钮
page('#su').click()

# 等待页面加载完成
page.wait.load_start()

# 获取所有搜索结果标题
results = page.eles('tag:h3')

# 打印结果
for i, item in enumerate(results, 1):
    print(f'{i}. {item.text}')

# 关闭浏览器
page.quit()

运行效果:浏览器自动打开,搜索”DrissionPage”,然后控制台打印出结果标题。

逐行解析

创建页面对象

page = ChromiumPage()

这行代码启动浏览器,创建页面对象。后面的操作都基于这个对象。

访问网页

page.get('https://www.baidu.com')

get() 方法让浏览器打开指定网址。

定位并操作元素

page('#kw').input('DrissionPage')

page('#kw') 用 CSS 选择器定位搜索框。.input() 往里面输入文字。

page('#su').click()

定位搜索按钮,点击它。

等待加载

page.wait.load_start()

等待新页面开始加载。这步很重要,不加可能获取到旧页面的内容。

获取多个元素

results = page.eles('tag:h3')

eles() 返回所有匹配的元素(复数)。tag:h3 是定位语法,表示找所有 <h3> 标签。

关闭浏览器

page.quit()

任务完成后关闭浏览器,释放资源。

用 SessionPage 也能做

同样的功能,用 SessionPage 更轻量:

from DrissionPage import SessionPage

page = SessionPage()
page.get('https://www.baidu.com/s?wd=DrissionPage')
results = page.eles('tag:h3')

for i, item in enumerate(results, 1):
    print(f'{i}. {item.text}')

不需要启动浏览器,直接发请求获取结果。速度更快,但看不到浏览器操作过程。

TIP:新手建议先用 ChromiumPage。能看到浏览器一步步操作,出了问题也好排查。熟练后再用 SessionPage 提升效率。

可能遇到的问题

报错找不到浏览器:说明 Chrome 路径没配置。回到第 3 章设置浏览器路径。

元素定位失败:可能是页面还没加载完。在操作前加 page.wait.load_start()

浏览器没关:脚本异常退出时浏览器可能残留。在代码末尾记得加 page.quit()

下一章我们深入学习 ChromiumPage 的创建和浏览器连接方式。