18
2025
05
22:51:20

狂揽 9.9K star!比Selenium更好用的网页自动化利器,功能超强,太6了!

咱们在做Web自动化测试的时候,或者写一些爬虫、自动化小工具的时候,很多人都会用到 Selenium 这个老大哥。Selenium 功能强大是强大,但有时候,光是环境搭建、驱动配置就够折腾一阵子了。有时候写起来代码量不少,有些常见操作封装得不够,遇到动态加载的页面,处理等待问题也挺头疼。而且,原生的 Selenium 输出的报告也比较简陋。

今天开源君给大家分享一个牛皮的开源项目 - SeleniumBase,让新手小白也能轻松上手自动化,老司机们也能用得更爽!

图片

项目简介

SeleniumBase 是个全能型的浏览器自动化框架,核心是用 Python 包装了 Selenium 的 WebDriver API,再加上一堆贴心的功能。它支持 Chrome、Firefox、Edge 等主流浏览器,还能跑在无头模式(就是不弹出浏览器窗口,适合服务器跑脚本)。

图片

除了基本的网页操作,它还内置了测试框架(支持 pytest、unittest、behave),能帮你写端到端测试、爬网页数据,甚至还能搞定 Cloudflare 那种防爬的检测。

图片

更牛的是,SeleniumBase 还自带一堆工具,比如生成测试报告、截图保存、甚至还能做交互式网页引导。总之,不管你是开发者、测试工程师,还是想偷懒的“脚本侠”,它都能给你整得明明白白!

目前在Github上收获了9.9K star,非常的受欢迎!

图片

性能特色

  • 智能等待,告别手动延时:SeleniumBase 能自动等页面元素加载完再操作,不用你手动加一堆 time.sleep(),省心又防报错。
  • 驱动管理,省去配置烦恼:它会自动下载和配置浏览器驱动(比如 chromedriver),你只需要告诉它用哪个浏览器就行。

图片

  • 绕过机器人检测,爬虫更顺畅:支持 UC Mode(隐身模式),能伪装成真实用户,轻松搞定 Cloudflare、reCAPTCHA 那种防爬机制。

图片

  • 测试框架一体化:内置 pytest、unittest、behave 支持,写测试用例跟写普通脚本一样简单,还能生成花里胡哨的报告。

图片

  • 多场景支持,灵活又强大:支持多线程、Selenium Grid 分布式运行,还能对接 Docker、AWS、Google Cloud,适合各种规模的自动化任务。
  • 日志和调试超贴心:测试挂了?它会自动存截图和日志到 latest_logs/ 文件夹,方便你查问题,还能存到云端(比如 AWS S3)。
  • 额外好玩的工具:自带 CasePlans(测试用例管理)、ChartMaker(生成交互图表),甚至还能翻译测试脚本到多国语言,简直是全能选手!

图片
图片

快速安装使用

打开终端,敲下面这行命令,直接用 pip 装:

pip install -U seleniumbase

你也可以直接从 GitHub 进行安装:

git clone https://github.com/seleniumbase/SeleniumBase.git
cd SeleniumBase/
pip install -e .

官方 GitHub 仓库的 examples 文件夹,里面提供了 200 多个 demo供大家参考使用。

图片

比如 my_first_test.py这个demo示例是最简单的入门款,展示一个最最基本的 SeleniumBase 测试长啥样。

cd examples/
pytest my_first_test.py

图片

完整代码如下:

from seleniumbase import BaseCase
BaseCase.main(__name__, __file__)

class MyTestClass(BaseCase):
    def test_swag_labs(self):
        self.open("https://www.saucedemo.com")
        self.type("#user-name""standard_user")
        self.type("#password""secret_sauce\n")
        self.assert_element("div.inventory_list")
        self.assert_exact_text("Products""span.title")
        self.click('button[name*="backpack"]')
        self.click("#shopping_cart_container a")
        self.assert_exact_text("Your Cart""span.title")
        self.assert_text("Backpack""div.cart_item")
        self.click("button#checkout")
        self.type("#first-name""SeleniumBase")
        self.type("#last-name""Automation")
        self.type("#postal-code""77123")
        self.click("input#continue")
        self.assert_text("Checkout: Overview")
        self.assert_text("Backpack""div.cart_item")
        self.assert_text("29.99""div.inventory_item_price")
        self.click("button#finish")
        self.assert_exact_text("Thank you for your order!""h2")
        self.assert_element('img[alt="Pony Express"]')
        self.js_click("a#logout_sidebar_link")
        self.assert_element("div#login_button_container")

还有 Pytest 集成与参数化测试 (parameterized_test.py 或者test_pytest_parametrize.py 这类的)

可视化测试 (visual_testing 或类似名称)

图片

创建网页演示/教程 (my_presentation.py 或 tour_examples)

图片

小结

SeleniumBase 就是个“省心、省力、还能装X”的开源神器。它把 Selenium 的复杂操作简化到小白都能上手,还加了一堆高阶功能,满足老司机的各种需求。不管你是想写自动化测试、爬网页数据,还是搞点别的花活,SeleniumBase 都能陪你玩得转。社区活跃,文档齐全,GitHub 上还有一堆例子等着你去撸,绝对值得一试!

更多细节功能,感兴趣的可以到项目地址查看:

https://github.com/seleniumbase/SeleniumBase




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://zblog.hqyman.cn/post/11263.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: