chromedriver + google-chrome打包镜像实现跨系统使用

场景(使用Docker环境)

  1. 需要chromedriver+chrome环境,但是当前系统部署繁琐或者没有符合当前系统版本应用的情况;通过docker方式可以做到只要有docker环境可以做到一次制作,到处使用
  2. 不确定直接部署到服务器是否会影响其他服务;
  3. 适用于集群或者基于K8s编排的后端服务需要chromedriver+chrome环境,但是集群部署安装工作量大或通过K8s编排后的服务无法确认所在服务器;该两种情况则将chromedriver+chrome打包为镜像通过基础镜像的方式创建到服务镜像中以此解决问题。
  4. 等等类似场景…

一、前期准备

  1. 准备chromedriver、google-chrome包

    chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/

    google-chrome下载地址:win系统直接官网下载即可,linux则通过yum命令下载rpm包至本地后根据对应版本去找chromedriver版本即可。

也可直接拿我整理好的这个(chromedriver、google-chrome、Dockerfile):点这里 提取码: cptp

二、创建Dockerfile文件(如果直接拿上面网盘文件则忽略)

# 基础镜像为Centos7 也可根据自身需求修改
FROM centos:centos7
# 将下载的google-chrome 添加到工作目录下(根据自身修改)
ADD google-chrome-stable-117.0.5938.92-1.x86_64.rpm /usr/local
# 将下载的chromedriver 添加到工作目录下(根据自身修改)
ADD chromedriver /usr/local/bin
# 执行命令安装浏览器、以及解决浏览器中文乱码问题依赖(如不需要可删除)、最后给chromedriver设置权限(根据自身修改)
RUN yum -y localinstall /usr/local/google-chrome-stable-117.0.5938.92-1.x86_64.rpm \
&& yum -y groupinstall "X Window System" \
#&& yum -y groupinstall chinese-support \
&& yum -y groupinstall Fonts \
&& chmod a+x /usr/local/bin/chromedriver

三、构建镜像(构建镜像需要连接外网,如果需要内网部署要在能连外网的机器上构建好)

创建好Dockerfile之后,直接构建镜像即可。

命令: docker build -t 镜像名 .

四、下载构建出来的镜像

# 查看镜像
docker images
# 找到构建的镜像ID
docker save -o 下载的包名 镜像名:版本
示例: docker save > chrome_driver_base_image.tar.gz chrome_driver_base_image:latest

五、上传镜像

将下载的镜像上传至需要环境的镜像仓库

docker load -i 下载的包名

六、完成

上传镜像之后,即可根据不同的需求在后端服务的Dockerfile中引入该镜像即可。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
chromedriver是一个用于控制Chrome浏览器的驱动程序,它可以与自动化测试工具(如Selenium)一起使用。在Mac上使用chromedriver,你需要下载适用于Mac的chromedriver版本,并将其配置到你的测试脚本中。 以下是使用chromedriver在Mac上进行自动化测试的步骤: 1. 下载chromedriver:你可以从官方网站(https://sites.google.com/a/chromium.org/chromedriver/)下载适用于Mac的chromedriver版本。确保选择与你的Chrome浏览器版本兼容的版本。 2. 将chromedriver添加到系统路径:将下载的chromedriver文件移动到一个你喜欢的位置,并将该位置添加到系统的PATH环境变量中。这样,你就可以在终端中直接运行chromedriver命令。 3. 在测试脚本中使用chromedriver:在你的自动化测试脚本中,你需要导入selenium库,并使用chromedriver来控制Chrome浏览器。以下是一个简单的示例: ```python from selenium import webdriver # 创建一个Chrome浏览器实例 driver = webdriver.Chrome() # 打开一个网页 driver.get("https://www.example.com") # 进行其他操作,如查找元素、点击按钮等 # 关闭浏览器 driver.quit() ``` 在这个示例中,我们使用webdriver.Chrome()创建了一个Chrome浏览器实例,并使用get()方法打开了一个网页。你可以在这个实例上执行其他操作,然后使用quit()方法关闭浏览器。 请注意,你可能还需要根据你的具体需求进行其他配置,例如设置Chrome浏览器的路径、添加浏览器选项等。你可以参考Selenium的文档(https://www.selenium.dev/documentation/en/webdriver/driver_requirements/)了解更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JokerQGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值