DrissionPage (g1879/DrissionPage)
Searching Database…
12.5K ·GitHub
这是什么?
DrissionPage 是一个 Python 网页自动化工具,既可以控制浏览器,也可以收发原始 HTTP 数据包,还可以在同一个流程中把两者结合起来,让你既能方便地进行浏览器自动化,又能获得接近 requests 的效率。
它是 Selenium 的替代品,还是别的东西?
它是一个在 Python 脚本中导入使用的库。它采用自研引擎,而不是 WebDriver,因此不需要下载针对特定浏览器的驱动程序,而且运行速度比 Selenium 更快。
怎样把它添加到项目中?
将它安装为 Python 包,然后在脚本中导入,即可开始控制浏览器或发送数据包;配置通过一个 ini 文件完成,DrissionPage 会自动读取该文件。
我需要先安装特殊的浏览器驱动吗?
不需要。由于它不依赖 WebDriver,你无需为不同版本的浏览器下载对应的驱动程序文件;它内置了 lxml,用于快速解析 HTML。
我可以把它用于任何我想做的爬虫项目吗?
不可以。使用条款将其限制为个人、非商业、合法的学习用途,禁止违反 robots.txt、伤害他人或涉及骚扰的使用;商业使用需要获得版权持有人的授权。
它面向哪些人?
它面向从事网页爬取和自动化的 Python 开发者,也包括初学者,因为作者将其语法设计得简洁,对新手友好。
它能在 Linux 和 Mac 上运行,还是只支持 Windows?
它是一个跨平台的 Python 库,标注支持 Linux、macOS 和 Windows。
无需切换上下文,就能跨多个 iframe 或标签页工作吗?
可以。它把 iframe 当作普通元素处理,因此无需切入切出即可跨 iframe 定位元素;它还能同时操作多个标签页,无需在它们之间来回切换。
能截取包括视口之外内容的整页截图吗?
可以,它支持对整个网页截图,包括可见视口之外的部分。
能复用我已经打开的浏览器,而不是每次运行都启动一个新的吗?
可以,它允许复用已经打开的浏览器,这样每次运行都无需从头重启浏览器,调试起来更方便。
作者为什么要自研引擎,而不是直接包装 Selenium?
作者想避开 WebDriver 的额外开销(如驱动版本不匹配、速度较慢),并内置许多便捷功能,例如内置等待和重试、简化的元素定位语法,以及基于缓存直接保存图片,从而得到一个更稳定、更优雅的库。
What are similar projects?
firecrawl, invisible_puppeteer, MediaCrawler, Scrapegraph-ai, SeleniumBase, crawlee, automa, Agent-Reach
Which topics is it in?
web-automation, web-crawler, webscraping, scraper, scraping, web-scraping, browser-automation, cli-tool, testing, china, chinese, automation



