【Playwright + Python】系列(九)Playwright 调用 Chrome 插件,小白也能事半功倍
哈喽,大家好,我是六哥!今天我来给大家分享一下如何使用playwight调用chrome插件,面向对象为功能测试及零基础小白,我尽量用大白话的方式举例讲解,力求所有人都能看懂,建议大家先收藏,以免后面找不到。
什么是chrome插件?
就是辅助你工作生活的助手,会让你事半功倍,举个例子,下图就是一个插件:

实战举栗
通过playwright启动chrome浏览器(有界面、带代理和指定扩展,操作慢),访问百度页面并等待插件加载,最后关闭浏览器。
代码详解
代码开头:关键引入与代理设置
from time import sleep
from playwright.sync_api import sync_playwright
proxy = {'server': '代理IP'}
from time import sleep,这个sleep函数可有用啦。咱都知道测试的时候,有时候得等网页加载啥的,用sleep就能让程序暂停一会儿。比如说,你觉得某个操作后需要等 5 秒确保页面稳定,就可以用sleep(5)。
from playwright.sync_api import sync_playwright,这里的playwright是个强大的自动化测试工具,sync_playwright是启动它的关键。
再看proxy,这是代理设置。如果测试环境需要通过代理访问网络,就得设置这个。要是填错了,测试就可能出问题,就像你走错路了一样。
主函数:程序的入口
def test_Ext():
with sync_playwright() as p:
这里def test_Ext():定义了我们的测试函数。with sync_playwright() as p呢,p就像是我们操作浏览器的手柄。
# 设置代理并启动带有扩展程序的浏览器
extension_path = 'dist' # 替换为你的扩展程序路径
browser = p.chromium.launch(
channel='chrome',
headless=False,
proxy=proxy,
args=[f'--disable-extensions-except={extension_path}', f'--load-extension={extension_path}'],
slow_mo=3000
)
extension_path = 'dist',这里要换成你实际的扩展程序路径,如果没有就先不管。扩展程序能增强浏览器功能,比如有扩展能方便地获取页面信息。
browser = p.chromium.launch(...)里,channel='chrome'指定用chrome浏览器。headless=False表示浏览器有界面,这样我们能看到操作过程。proxy=proxy就是用前面设置的代理。args里的--disable - extensions - except={extension_path}只启用指定扩展,--load - extension={extension_path}加载它。slow_mo=3000让操作慢一点,每步停 3 秒,方便我们观察。
# 创建一个新的上下文
context = browser.new_context()
创建新上下文,这就好比给测试准备一个独立的环境,和其他测试环境互不干扰。
# 创建一个新的页面
page = context.new_page()
创建新页面,就像在浏览器里新开一个标签页。
# 访问第一个网页并处理弹出对话框
page.goto("https://www.baidu.com")
sleep(20)
page.goto("https://www.baidu.com")让页面访问百度。sleep(20)是因为百度页面内容多,等 20 秒确保完全加载。要是有弹出框,playwright一般能自动处理。
# 关闭浏览器
browser.close()
测试完了,得关闭浏览器,释放资源,不然会占用电脑性能。
可能遇到的问题
要是有问题,像代理不对或者扩展路径错了,就会报错。咱得根据报错信息排查,多试几次熟悉流程,以后复杂的自动化测试代码咱也能轻松搞定。
效果

写在最后
到此,关于使用调用 Chrome 插件方法已分享完毕,感兴趣的同学可以自行动手尝试。 如需要全部源代码,公众号回复“playwight案例”获取,无引号。希望大家都能顺利掌握,一起进步。也欢迎分享给更多有需要的朋友哦!
【Playwright + Python】系列(九)Playwright 调用 Chrome 插件,小白也能事半功倍的更多相关文章
- 【实用工具】这些你不得不知道的chrome插件,让你事半功倍
平时chrome插件用多了,发现在工作中有很多插件特别好用,让你事半功倍.于是我抽时间整理了一些非常好用的chrome插件分享给大家,其中有些插件是我已经离不开,每天都在用的.希望这篇文章能帮助你找到 ...
- python系列九:python3迭代器和生成器
#!/usr/bin/python import sys '''迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退.迭代器有 ...
- 调用Bytom Chrome插件钱包开发Dapp
安装使用插件钱包 1. 打开Google浏览器的应用商店,搜索Bystore 下载链接:http://t.cn/E6cFFwb 2. 然后点击添加到Chrome,就可以添加到我们的: 3. 使用goo ...
- 探索微软开源Python自动化神器Playwright
相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具.写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就用自动化测试凑一凑. 虽然selenium有完备的文档,但也 ...
- chrome插件 postman 可以调用restful服务
chrome插件 postman 可以调用restful服务
- Chrome浏览器扩展开发系列之十一:NPAPI插件的使用
在Chrome浏览器扩展中使用HTML和JavaScript非常容易,但是如何重用已有的非JavaScript遗留系统代码呢?答案是将NPAPI插件绑定到Chrome浏览器扩展,从而实现在Chrome ...
- Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html
Cordova入门系列(三)Cordova插件调用 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...
- 使用Python开发chrome插件
本文由 伯乐在线 - xianhu 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:pythonspot.com.欢迎加入翻译小组. 谷歌Chrome插件是使用HTML.JavaScrip ...
- Python调用大漠插件
Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...
- python nose测试框架全面介绍九---各种html报告插件对比
一直在使用Nose-html-reporting,并输出html报告,但今天在使用时发出有点问题:于时,将python目前可能的html报告插件下载后进行对比,如下 一.Nose-html-repor ...
随机推荐
- 强!34.1K star! 再见Postman,新一代API测试利器,功能强大、颜值爆表!
1.引言 在当今的互联网时代,API(应用程序编程接口)已经成为连接不同软件系统的桥梁.作为一名开发者,掌握API测试技能至关重要.市面上的API测试工具琳琅满目,今天我们要介绍的是一款开源.跨平台的 ...
- autorun.inf 配置
autorun.inf 文件是一个配置文件,通常用于可移动磁盘(如 USB 驱动器和 CD/DVD)来自动执行某些操作或配置一些设置.当插入可移动磁盘时,Windows 会读取 autorun.inf ...
- 计算机Power电源状态
在计算机电源管理中,S1, S2, S3, S4 代表不同的电源状态或睡眠状态. 了解这些状态,对计算机设备理解功耗及工作状态有很大帮助.最近公司开会,系统同事有讲S3状态功耗很低,我猜和电脑的睡眠. ...
- TypeScript – Using Disposable
前言 TypeScript v5.2 多了一个新功能叫 Disposable. Dispose 的作用是让 "对象" 离开 "作用域" 后做出一些 " ...
- ASP.NET Core – 操作 Uri 和 Query
前言 以前就有写过了 Asp.net core 学习笔记 (操作 URL 和 Query), 但很乱, 这篇作为整理. Uri 介绍 结构: [Scheme]://[Host]:[Port][/Pat ...
- GPT最佳实践:五分钟打造你自己的GPT
前几天OpenAI的My GPTs栏目还是灰色的,就在今天已经开放使用了.有幸第一时间体验了一把生成自己的GPT,效果着实惊艳!!!我打造的GPT模型我会放到文章末尾,大家感兴趣也可以自己体验一下. ...
- linux 映射windows 下的共享文件夹
linux 映射windows 下的共享文件夹 本文讯]2021年4月27日 在对接第三方系统,进行数据采集的时候,对方给了我们一个文件夹,里面全是txt文件,这个时候就要想办法获取他们数据 ...
- 没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报
1. 注册心知天气账号,获取私钥 下面这篇文章是图示讲解的,好东西,何不转载为快? http://www.taichi-maker.com/homepage/iot-development/iot-p ...
- 2024 年 C# 高效开发:精选实用类库
前言 在平时开发中,好的类库能帮助我们快速实现功能,C#有很多封装好的类库. 本文将介绍一些2024年特别受欢迎的C#类库,并分析各自的优点让我们编程写代码变的更轻松.更快捷. 快来看一看有没有大家常 ...
- os.path.basename()和os.path.splitext()
1.os.path.splitext()是用来分离文件名与扩展名: 2.os.path.basename()他返回的是一个base name,我认为就是路径最后一个文件名. import os fna ...