(3)Playwright自动化-3-离线搭建playwright环境

article/2025/6/21 23:48:16

1.简介

如果是在公司局域网办公,或者公司为了安全对网络管控比较严格这种情况下如何搭建环境,我们简单来看看

(第一种情况及解决办法:带要搭建环境的电脑到有网的地方在线安装即可。

(第二种情况及解决办法:如果电脑无法带到有网的地方进行在线安装,那就用别的电脑下载好安装包,用U盘将安装包拷贝到要搭建的电脑安装即可。)

在本地局域网部署好playwright 环境。

2.本地下载playwright

2.1单个下载离线包

1.第二种情况:要搭建的电脑无法访问外网,也不能将电脑带到有网络的地方进行在线安装playwright环境。那就只能找个可以访问外网的电脑进行下载playwright,但是要注意:不要去pypi库单独下载这一个包,因为它在安装过程中还会下载其他依赖包。但是如果你只下载一个playwright-1.32.1-py3-none-win_amd64.whl,然后使用pip安装肯定会失败。那么说一下正确的方法:通过 pip download playwright 下载安装包。

下载单个离线包:下载单个离线包: pip download  <package_name> -d 文件夹名或者路径 

pip download playwright -d ./down

其中 -d 参数是指定下载安装到本地down目录。

 

2.正常情况下会下载以下四个包,如下图所示:

 

 

3.如果你还需要有其他的包需要下载,也可以按上面方式下载,比如pytest,allure-pytest 等包。

2.2批量下载离线包

确认依赖包名与版本:在其他环境中找到要安装的依赖包名及版本并导出:pip freeze > requirements.txt,requirements.txt中即为要的包信息。就以上边的playwright包为例。本地已经安装了一些依赖包了,可以通过pip freeze > requirements.txt, 导出本地的全部依赖包到requirements.txt文件。

1.进入依赖包的文件夹中,输入命令: pip freeze > requirements.txt 。 如下图所示:

 

2.进入文件夹查看 requirements.txt  文件内容如下:

greenlet==2.0.1
playwright==1.33.0
pyee==9.0.4
typing-extensions==4.5.0

3.再通过download命令下载全部

pip download -r requirements.txt -d ./down

 

3.离线安装

3.1单个离线安装

安装单个离线包: pip install --no-index --find-links=/资源文件夹/ <package_name>

1.把前面下载的down文件下全部包上传到你局域网的电脑上。本地离线单个安装依赖包

pip install --no-index  --find-links=D:\software\Python\Python37\Lib\site-packages -r greenlet-2.0.1-cp37-cp37m-win_amd64.whl

2.按照上边的命令将4个包,一一安装即可。

 

3.2批量离线安装

批量安装离线包:pip install --no-index --find-links=/资源文件夹/ -r requirements.txt

1.把前面下载的down文件下全部包,以及requirements.txt文件上传到你局域网的电脑上。本地离线批量安装依赖包

pip install --no-index  --find-links=D:\software\Python\Python37\Lib\site-packages -r requirements.txt

2.只要你 requirements.txt 文件的包和下载的包是一一对应的,上面的安装就不会报错了。

 

到这一步playwright 的基本环境就已经安装完成了。

4.离线安装浏览器

4.1离线安装chromium,firefox 和 webkit

如果你有安装chromium,firefox 和 webkit 这3个官方提供的内置浏览器的需求,我们先看去哪里下载到这3个浏览器, 在终端执行以下命令

playwright install --dry-run

它会根据你当前安装的playwright (我当前版本是1.33.0)版本,给出对应的浏览器最近匹配版本,以及下载地址

 

4.2安装chromium 

这个和在线安装一样,就是下载对应的安装包,然后安装到在线安装浏览器的那个路径下即可。

1.以 chromium 安装为例,从上边的docs命令窗口我们可以清楚的看到chromium的Download url: https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip

2.先下载: https://playwright.azureedge.net/builds/chromium/1060/chromium-win64.zip
3.下载后是一个chromium-win64.zip压缩包。
4.接着看Install location 安装位置:C:\Users\DELL\AppData\Local\ms-playwright\chromium-1060按照这个路径依次创建文件夹,把压缩包放到chromium-1060下解压即可

 

5.还有个 ffmpeg 包也需要按上面的路径正确解压,此包跟录制视频有关。

6.这样你本地就有了对应的chromium,firefox 和 webkit 环境。在ms-playwright 目录下有以下四个文件

 

5.本地浏览器

有些小伙伴或者是童鞋们,觉得太麻烦想使用本地安装的浏览器也是可以的。以Chrome为例。

5.1启动本地Chrome浏览器

1.首先你确保在你自己本机电脑上安装了chrome浏览器,并且安装是按默认的安装路径。

2.那么在启动的时候,只需指定channel='chrome' 就可以启动本地chrome 浏览器了。

# coding=utf-8🔥
# 1.导入模块from playwright.sync_api import sync_playwrightwith sync_playwright() as p:'''默认为无头浏览器方式启动  '''browser = p.chromium.launch(channel='chrome', headless=False)         # 启动 chrome 浏览器page = browser.new_page()              # 打开一个标签页page.goto("https://www.baidu.com")     # 打开百度地址print(page.title())                    # 打印当前页面titlepage.click("input[name=\"wd\"]")       # 点击输入框page.fill("input[name=\"wd\"]", "webkit")  # 在输入框输入浏览器名字# page.screenshot(path=f'example-{p.webkit.name}.png')  #使用浏览器名字命名截图browser.close()                        # 关闭浏览器对象

6.小结

如果在启动Chrome时遇到以下报错,说明你浏览器没正确安装,重新安装一次chrome浏览器,按默认的路径安装即可。

playwright._impl._api_types.Error: Chromium distribution 'chrome' is not found at C:\Users\dell\AppData\Local\Google\Chrome\Application\chrome.exe Run "playwright install chrome"

 

 


http://www.hkcw.cn/article/ARtEEBxdXc.shtml

相关文章

调用蓝耘Maas平台大模型API打造个人AI助理实战

目录 前言需求分析与环境配置明确需求环境准备选择合适的大模型 蓝耘Mass平台介绍API调用大模型API介绍API 调用流程 可交互AI助理开发总结 前言 大数据时代&#xff0c;个人隐私很难得到保障&#xff0c;如果我们需要借助大模型解决一些私人问题&#xff0c;又不想隐私被泄露…

智联未来:低空产业与AI新纪元-(下)

1. 隐形战场&#xff1a;全球规则制定权争夺战 低空经济的崛起&#xff0c;本质是数字主权的争夺战。当美国FAA将无人机适航认证周期延长至36个月&#xff0c;欧盟推出"天空云图"计划整合全境飞行数据时&#xff0c;中国正以制度创新构建自己的规则体系。 1.1 空域…

关于销售的几点注意事项

一、把客户当朋友聊 做买卖这事儿啊&#xff0c;说白了就是人和人打交道。您要是见着客户就背产品说明书&#xff0c;人家扭头就走。得学会听对方说话&#xff0c;琢磨他到底想要啥。就像您去菜市场买菜&#xff0c;摊主要是光说"这菜新鲜"&#xff0c;您可能没感觉…

C++语法系列之右值

前言 本来是想在C11里写这篇文章的&#xff0c;发现东西很多&#xff0c;就单独列一篇文章了&#xff0c; 右值这个概念是在C11中提出来的&#xff0c;以前只有左值和左值引用的概念&#xff0c;C11后提出了右值和右值引用&#xff0c;为什么要提出右值和右值引用&#xff1f;…

day17 常见聚类算法

目录 准备操作 聚类评估指标介绍 1.轮廓系数&#xff08;Sihouette Score&#xff09; 2.CH指数&#xff08;Calinski-Harabasz Index&#xff09; 3.DB指数&#xff08;Davies-Bounldin Index&#xff09; KMeans聚类 算法原理 确定簇数的方法&#xff1a;肘部法 KMeans算法的…

LCS 问题解释

最长公共子序列问题&#xff08;Longest Common Subsequence&#xff09;&#xff0c;该问题可以表述为&#xff0c;在 A , B A,B A,B 中找出一段子序列 x x x&#xff0c;使得 x x x 既是 A A A 的子序列&#xff0c;又是 B B B 的子序列。 你可以理解为&#xff0c;在两…

Windows最快速打开各项系统设置大全

目录 一、应用背景 二、设置项打开方法 2.1 方法一界面查找&#xff08;最慢&#xff09; 2.2 方法二cmd命令&#xff08;慢&#xff09; 2.3 方法三快捷键&#xff08;快&#xff09; 2.4 方法四搜索栏&#xff08;快&#xff09; 2.5 方法五任务栏&#xff08;最快&am…

OTSU算法原理与Python实现:图像二值化的自动阈值分割

1 引言 图像二值化是计算机视觉中的基础操作&#xff0c;它将灰度图像转换为黑白图像&#xff0c;常用于文档扫描、目标检测等任务。OTSU算法&#xff08;大津法&#xff09;是一种自动确定二值化阈值的算法&#xff0c;无需人工干预&#xff0c;通过最大化类间方差来分离前景和…

python:批量创建文件

#需求&#xff1a;在指定路径下批量创建3000#可以先弄个10个文本文件&#xff0c;文件格式为序号——物资类别——用户识别码组成 #1.序号从0001到3000 #2.物资类别包括&#xff1a;水果&#xff0c;烟酒&#xff0c;粮油&#xff0c;肉蛋&#xff0c;蔬菜 #3.用户识别码为9位的…

kafka学习笔记(三、消费者Consumer使用教程——配置参数大全及性能调优)

本章主要介绍kafka consumer的配置参数及性能调优的点&#xff0c;其kafka的从零开始的安装到生产者&#xff0c;消费者的详解介绍、源码及分析及原理解析请到博主kafka专栏 。 1.消费者Consumer配置参数 配置参数默认值含义bootstrap.servers无&#xff08;必填&#xff09;…

静态综合实验

题目 1.划分IP地址 因为所有网段基于192.168.1.0/24&#xff0c;所以需要自己进行合理的划分。如图&#xff0c;我已经划分完成。 2.启动 3.给五个路由器进行改名 4.给网关写入IP地址 R1 R2 R3 R4 5.完成网段的声明和环回接口的创建 6.在R1上进行ping&#xff0c;观察是否…

流媒体基础解析:音视频封装格式与传输协议

在视频处理与传输的完整流程中&#xff0c;音视频封装格式和传输协议扮演着至关重要的角色。它们不仅决定了视频文件的存储方式&#xff0c;还影响着视频在网络上的传输效率和播放体验。今天&#xff0c;我们将深入探讨音视频封装格式和传输协议的相关知识。 音视频封装格式 什…

保持本地 Git 项目副本与远程仓库完全同步

核心目标&#xff1a; 保持本地 Git 项目副本与 GitHub 远程仓库完全同步。 关键方法&#xff1a; 定期执行 git pull 命令。 操作步骤&#xff1a; 进入项目目录&#xff1a; 在终端/命令行中&#xff0c;使用 cd 命令切换到你的项目文件夹。执行拉取命令&#xff1a; 运行…

Go语言的context

Golang context 实现原理 本篇文章是基于小徐先生的文章的修改和个人注解&#xff0c;要查看原文可以点击上述的链接查看 目前我这篇文章的go语言版本是1.24.1 context上下文 context被当作第一个参数&#xff08;官方建议&#xff09;&#xff0c;并且不断的传递下去&…

2025年全国青少年信息素养大赛复赛C++算法创意实践挑战赛真题模拟强化训练(试卷3:共计6题带解析)

2025年全国青少年信息素养大赛复赛C++算法创意实践挑战赛真题模拟强化训练(试卷3:共计6题带解析) 第1题:四位数密码 【题目描述】 情报员使用4位数字来传递信息,同时为了防止信息泄露,需要将数字进行加密。数据加密的规则是: 每个数字都进行如下处理:该数字加上5之后除…

NeRF PyTorch 源码解读 - 体渲染

文章目录 1. 体渲染公式推导1.1. T ( t ) T(t) T(t) 的推导1.2. C ( r ) C(r) C(r) 的推导 2. 体渲染公式离散化3. 代码解读 1. 体渲染公式推导 如下图所示&#xff0c;渲染图像上点 P P P 的颜色值 c c c 是累加射线 O P → \overrightarrow{OP} OP 在近平面和远平面范围…

Sentiment analysis integrating LangGraph and large-scale conceptual models

Sentiment analysis integrating LangGraph and large-scale conceptual models 核心目标&#xff1a; 让电脑更聪明地理解大量用户评论&#xff08;比如邮件、社交媒体、调查问卷&#xff09;&#xff0c;自动分析出大家是夸还是骂&#xff08;情感分析&#xff09;&#xff…

DeepSeek R1-0528:深度思考能力的重大跃升与技术突破全解析

引言 2025年5月28日&#xff0c;DeepSeek再次以其标志性的"深夜发布"方式&#xff0c;悄然推出了R1模型的最新版本——DeepSeek-R1-0528。这次被官方定义为"小版本升级"的更新&#xff0c;实际上带来了令人瞩目的性能提升。新版本不仅在数学、编程与通用逻…

Python 训练营打卡 Day 40

训练和测试的规范写法 一、黑白图片的规范写法&#xff0c;以MNIST数据集为例 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms # 用于加载MNIST数据集 from torch.utils.data import DataLoader # 用于创建…

题海拾贝:P8598 [蓝桥杯 2013 省 AB] 错误票据

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…