IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 用 python:alpine 应用容器制作 selenium+chromium 的 docker 镜像,并设置中文支持 -> 正文阅读

[开发测试]用 python:alpine 应用容器制作 selenium+chromium 的 docker 镜像,并设置中文支持

使用 python:3.8.8-alpine3.13 的应用镜像,制作 selenium+chromium 的 docker 镜像,并设置中文支持。

DockerFile 内容如下:

FROM python:3.8.8-alpine3.13

ADD SourceHanSansCN-Normal.otf /usr/share/fonts/

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

RUN apk --no-cache add libexif udev xvfb xvfb-run gcc libffi-dev openssl-dev musl-dev chromium chromium-chromedriver

RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && /usr/local/bin/python -m pip install --upgrade pip
RUN pip install selenium

RUN mkdir /data
WORKDIR /data

打包镜像:

build -t 'selenium:0.1' .

运行容器:

docker run -it --rm --name 'selenium' selenium:0.1.2 sh

这里需要注意的是中文字体的选择,字体添加到容器里面后,需要让容器能识别这是中文的字体,否则添加进去后,也无法在浏览器中显示中文。

我上面的添加的字体文件 SourceHanSansCN-Normal.otf 是思源黑体这个字体,可以使用 otf 后缀的字体文件。字体添加进去后执行查看是否为中文字体。(如果字体是镜像打包完后,运行容器时添加进去的,可能需要执行刷新:fc-cache -f
检查方法如下:

fc-list :lang=zh

查询示例如下:
在这里插入图片描述
可以看到有思源黑体的字体存在。

python 测试代码,保存为 test.py,代码如下:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--no-sandbox")
options.add_argument("window-size=1920,1080")
driver=webdriver.Chrome(options=options)

driver.get('http://www.baidu.com/')
time.sleep(5)
title=driver.title
print(title)
driver.save_screenshot('screenshot.png')
driver.close()

在容器中执行代码,并保存截图:

xvfb-run python3 test.py -s -screen 0 1920x1080x16

在这里插入图片描述
再把容器里的截图拷贝出来:

docker cp selenium:/data/screenshot.png .

在系统中查看 screenshot.png 图片,能正常显示中文字体:
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:52:24  更:2022-03-08 22:53:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:50:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码