首页 > 编程语言 >《最新出炉》系列初窥篇-Python+Playwright自动化测试-3-离线搭建playwright环境

《最新出炉》系列初窥篇-Python+Playwright自动化测试-3-离线搭建playwright环境

时间:2023-06-14 12:00:20浏览次数:44  
标签:playwright 浏览器 Python chromium 离线 Playwright 安装 下载

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

标签:playwright,浏览器,Python,chromium,离线,Playwright,安装,下载
From: https://www.cnblogs.com/du-hong/p/17407595.html

相关文章

  • python对接事务性MSMQ队列
    研究了很久,逐步了解到原理后,发现python发送消息到事务性msmq肯定可行。现在能搜到的资源没有任何一篇文章说明了这个,包括gpt都一样。废话不多说,直接上代码 importwin32com.client#关键代码必须使用gencache导入"MSMQ.MSMQQueueInfo"win32com.client.gencache.Ensure......
  • 学了Python后还用学R语言吗?
    学习R语言是否有必要取决于你的具体需求和背景。虽然R语言和Python都是数据科学领域广泛使用的编程语言,但它们之间还是存在一些差异。如果你主要从事数据分析、统计建模或者数据可视化等工作,那么学习R语言可能更为适合。R语言在数据处理和统计分析方面具有很强的优势,并内置许多常......
  • Python中的*(星号)和**(双星号)详解 通俗易懂
    Python和C++不同,并没有指针,因此python中的*号作用和C++中不同。网上对于这方面的教程写的啰啰嗦嗦,一点不简明扼要。看的让人找不到重点。我这里快速的讲解一下。1.最简单的不用细说,是一个乘法运算符号a=1b=2c=a*b输出c当然是1×2=2。相信这并非是大家关心的重点。2.收集列表中多......
  • 对python迭代器的理解
    迭代器的接口迭代器的用法自定义迭代器迭代器的意义1迭代器的接口可迭代对象计算对象之间的共同属性得到可迭代对象的共同属性上述对象都是容器类型,都有长度加入文件对象再次求交集得到可迭代对象的唯一共同接口:_iter_生成了迭代器同样方法计算迭代器的共同......
  • Python:packaging包解析语义化版本(Semantic Versioning)
    参考文章语义化版本2.0.0语义化版本与其在Python中的使用packaging是python的pip自带包,不需要额外安装#-*-coding:utf-8-*-"""@File:demo.py@Date:2023-06-09"""frompackagingimportversioncurrent_version='1.3.4'parsed_versio......
  • python基础
    第1课初识Python程序设计语言_哔哩哔哩_bilibili主流语言介绍:编译器与解释器:python特点:......
  • 【python】关键字global
    关键字global1.局部变量和全局变量重名:定义了一个全局变量site,接着,我们定义了一个函数func,同时,在函数func里面,我们首先打印变量site的值,接着再次给变量site赋值。最后,调用函数func,此时程序报错,理论上我们在func函数里面第一次打印使用的应该是全局变量site,但实际上程......
  • python: read excel
     """Insurance。pyedit:geovindu,GeovinDu,涂聚文date2023-06-13保险类"""importsysimportosclassInsurance:"""保险类"""def__init__(self,InsuranceName,InsuranceCost,IMo......
  • python+uiautomator2判断app是否进入到闪屏广告页面
    前提背景:app内部存在多处广告,需要进行进行自动化:1.查看app是否成功跳转了页面2.页面是否空白3.大致经历的耗时主要思路如下:点击前进行截图操作,点击后进行判断判断图片是否空白defis_blank(image_path,gray_value=250,threshold=0.9):"""函数会计算一幅图像中......
  • Python调用C/C++动态库
    一、编译C++代码并封装成动态库1、创建编译dll文件的项目,在上面的官网介绍的更详细,这里就不多做介绍了。注意在vs之中新建一个项目,项目选择动态链接库(DLL)2、2.在源文件中添加cpp文件并写好函数#include<iostream>#defineMATHLIBRARY_APIextern"C"__declspec(dllexport)......