Python使用DrissionPage实现浏览器关闭操作

 更新时间:2026年02月25日 16:23:34   作者:detayun  
在DrissionPage中关闭浏览器主要通过调用close()方法实现,具体操作取决于浏览器控制方式(如Selenium模式或无头模式),下面小编就和大家详细介绍一下具体步骤吧

在DrissionPage中关闭浏览器主要通过调用close()方法实现,具体操作取决于浏览器控制方式(如Selenium模式或无头模式)。以下是详细步骤和示例代码:

1.DrissionPage介绍

DrissionPage是一个基于Python的浏览器自动化库,它提供了三种访问模式:ChromiumPage、WebPage和SessionPage。这些模式覆盖了从图形化用户操作到数据包控制的全方位需求,让开发者能够更加灵活地应对各种网页自动化任务。

三大核心模式

1. ChromiumPage:图形化浏览器自动化

ChromiumPage是操作浏览器的页面对象,使用Chromium内核进行页面加载和交互,类似于Selenium的WebDriver。它支持页面元素的查找、点击、输入、截图等操作,适合需要图形化界面展示的网页自动化任务。

2. WebPage:浏览器控制与数据包收发

WebPage结合了浏览器控制和数据包的收发,可以拦截和修改网络请求,适合需要同时操作浏览器和处理数据包的复杂任务。

3. SessionPage:轻量级数据交互

SessionPage专用于数据包收发,类似于Python的requests库,适合快速发送和接收数据的任务,无需渲染网页内容。

2. 基本关闭方法

from DrissionPage import ChromiumPage

# 创建页面对象(以Chromium为例)
page = ChromiumPage()

# 打开网页
page.get('https://example.com')

# 关闭浏览器
page.close()  # 关闭当前标签页
# 或
page.quit()   # 关闭整个浏览器进程(更彻底)

3. 关闭特定标签页

如果打开了多个标签页,可通过page.close_tab()关闭指定标签页:

# 打开新标签页
page.new_tab('https://example.org')

# 切换到第一个标签页
page.switch_tab(0)

# 关闭当前标签页(保留浏览器)
page.close()

4. 彻底退出浏览器进程

使用quit()方法确保释放所有资源:

page.quit()  # 关闭所有标签页并终止浏览器进程

5. 处理无头模式

在无头模式下同样适用上述方法:

from DrissionPage import ChromiumPage

page = ChromiumPage(headless=True)
page.get('https://example.com')
page.quit()  # 无头浏览器也会被彻底关闭

关键区别:

  • close():关闭当前活动标签页,若只剩一个标签页则关闭浏览器。
  • quit():强制终止整个浏览器进程,释放所有资源(推荐在脚本结束时使用)。

注意事项:

  • 确保在操作完成后调用关闭方法,避免浏览器进程残留。
  • 若使用多线程/多进程,需在每个线程/进程中独立管理浏览器实例。
  • 关闭浏览器后,相关页面对象将失效,不可再操作。

通过上述方法,您可以安全、高效地关闭DrissionPage控制的浏览器实例。

6.知识扩展

下面小编整理了一些DrissionPage自动化操作浏览器的相关方法,希望对大家有所帮助

安装DrissionPage

首先,我们需要安装DrissionPage库。在终端或命令提示符中运行以下命令:

pip install drission

初始化ChromiumPage

接下来,我们初始化ChromiumPage对象:

from drission import Drission
drission = Drission()
page = drission.use_chromium()

打开页面

使用get()方法加载一个页面:

page.get("https://example-login.com")

查找元素并输入

使用input()方法将文本输入到输入框或文本框中:

page.input("#username", "your_username")
page.input("#password", "your_password")

点击登录按钮

使用click()方法对页面中的元素进行点击操作:

page.click("#login_button")

等待元素加载

使用wait()方法等待页面元素加载完成:

page.wait('div.welcome-message')

获取欢迎信息

使用ele()方法获取元素,并打印欢迎信息:

welcome_text = page.ele('div.welcome-message').text
print("Welcome message:", welcome_text)

关闭浏览器

在完成所有操作后,使用close()方法关闭ChromiumPage,释放资源:

page.close()

DrissionPage的优势

  • 轻量级:相较于Selenium和Playwright,DrissionPage更加轻量,启动和运行速度更快。
  • 易用性:API设计简洁直观,易于学习和使用。
  • 功能强大:覆盖了从基本的网页操作到复杂的数据交互,满足各种自动化需求。

到此这篇关于Python使用DrissionPage实现浏览器关闭操作的文章就介绍到这了,更多相关Python DrissionPage关闭浏览器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python-opencv在有噪音的情况下提取图像的轮廓实例

    python-opencv在有噪音的情况下提取图像的轮廓实例

    下面小编就为大家带来一篇python-opencv在有噪音的情况下提取图像的轮廓实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python Django2 model 查询介绍(条件、范围、模糊查询)

    Python Django2 model 查询介绍(条件、范围、模糊查询)

    这篇文章主要介绍了Python Django2 model 查询介绍(条件、范围、模糊查询),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python粘包问题及socket套接字编程详解

    python粘包问题及socket套接字编程详解

    这篇文章主要介绍了python粘包问题及socket套接字编程详解,之所以出现粘包,是因为两个数据非常小,然后间隔时间又短,或数据太大,一次取不完,下一次还会取这个大数据,需要的朋友可以参考下
    2019-06-06
  • Matplotlib实战之直方图绘制详解

    Matplotlib实战之直方图绘制详解

    直方图,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表,这篇文章主要为大家详细介绍了如何使用Matplotlib绘制直方图,需要的可以参考下
    2023-08-08
  • selenium切换标签页解决get超时问题的完整代码

    selenium切换标签页解决get超时问题的完整代码

    这篇文章主要给大家介绍了关于selenium切换标签页解决get超时问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python openpyxl提取Excel图片实现原理技巧

    python openpyxl提取Excel图片实现原理技巧

    在这篇文章中,将介绍如何使用openpyxl来提取Excel中的图片,以及它的原理和技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • numpy中数组的堆叠方法

    numpy中数组的堆叠方法

    本文主要介绍了numpy中数组的堆叠方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 15个应该掌握的Jupyter Notebook使用技巧(小结)

    15个应该掌握的Jupyter Notebook使用技巧(小结)

    这篇文章主要介绍了15个应该掌握的Jupyter Notebook使用技巧(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

    Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

    这篇文章主要介绍了Windows下的Jupyter Notebook 安装与自定义启动(图文详解),需要的朋友可以参考下
    2018-02-02
  • Python 文本滚动播放器的实现代码

    Python 文本滚动播放器的实现代码

    这篇文章主要介绍了Python 文本滚动播放器的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论