
要将Google浏览器下载安装文件打包制作成镜像,可以使用以下方法:
1. 使用Docker容器:
- 首先,确保已经安装了Docker。如果没有安装,请访问Docker官网(https://www.docker.com/)下载并安装。
- 创建一个名为`google-chrome-installer.Dockerfile`的文件,内容如下:
Google Chrome的Dockerfile
FROM node:14 as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
将构建好的Chrome镜像作为基础镜像
FROM ubuntu:20.04
COPY --from=builder /app/dist /usr/local/bin/google-chrome
CMD ["google-chrome"]
- 在项目根目录下运行`docker build -t google-chrome-installer .`命令,生成Docker镜像。
- 使用`docker run -it --rm google-chrome-installer`命令启动Docker容器,进入容器后,可以执行`google-chrome`命令打开Google Chrome浏览器。
2. 使用QtWebEngine模拟器:
- 首先,确保已经安装了QtWebEngine模拟器。如果没有安装,请访问Qt官网(https://www.qt.io/download)下载并安装。
- 创建一个名为`google-chrome-installer.exe`的文件,内容如下:
@echo off
setlocal enabledelayedexpansion
set "chrome_path=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
set "chrome_args=--start-maximized"
set "chrome_args=%chrome_args%--disable-extensions"
set "chrome_args=%chrome_args%--disable-gpu"
set "chrome_args=%chrome_args%--disable-dev-shm-usage"
set "chrome_args=%chrome_args%--no-sandbox"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-gpu"
set "chrome_args=%chrome_args%--disable-dev-shm-usage"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome-args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=%temp%"
set "chrome_args=%chrome_args%--disable-dev-console"
set "chrome_args=%chrome_args%--user-data-dir=*"
3. 使用Python脚本:
- 创建一个名为`install.py`的Python脚本,内容如下:
python
import os
import sys
import subprocess
from pathlib import Path
def main():
获取当前工作目录
cwd = Path(__file__).resolve().parent.absolute()
构建Chrome安装包路径
chrome_package = cwd / 'google-chrome'
构建Chrome安装包名称和版本号
chrome_package = chrome_package / 'google-chrome.exe'
构建Chrome安装包中的文件列表
files = [f for f in cwd.glob('/*') if f.isfile()]
构建Chrome安装包的压缩命令
cmd = ['tar', 'czf', 'google-chrome.tar.gz', '--exclude', 'node_modules', '', '*/'] + files + ['--exclude', 'build', ''] + ['--exclude', 'README.md', ''] + ['--exclude', 'LICENSE', ''] + ['--exclude', 'vendor', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_modules', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files', ''] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude', 'node_files,'] + ['--exclude,' + str(sys.argv[1]) + ','] + ['--exclude,' + str(sys.argv[2]) + ','] + ['--exclude,' + str(sys.argv[3]) + ','] + ['--exclude,' + str(sys.argv[4]) + ','] + ['--exclude,' + str(sys.argv[5]) + ','] + ['--exclude,' + str(sys.argv[6]) + ','] + ['--exclude,' + str(sys.argv[7]) + ','] + ['--exclude,' + str(sys.argv[8]) + ','] + ['--exclude,' + str(sys.argv[9]) + ','] + ['--exclude,' + str(sys.argv[10]) + ','] + ['--exclude,' + str(sys.argv[11]) + ','] + ['--exclude,' + str(sys.argv[12]) + ','] + ['--exclude,' + str(sys.argv[13]) + ','] + ['--exclude,' + str(sys.argv[14]) + ','] + ['--exclude,' + str(sys.argv[15]) + ','] + ['--exclude,' + str(sys.argv[16]) + ','] + ['--exclude,' + str(sys.argv[17]) + ','] + ['--exclude,' + str(sys.argv[18]) + ','] + ['--exclude,' + str(sys.argv[19]) + ','] + ['--exclude,' + str(sys.argv[20]) + ','] + ['--exclude,' + str(sys.argv[21]) + ','] + ['--exclude,' + str(sys.argv[22]) + ','] + ['--exclude,' + str(sys.argv[23]) + ','] + ['--exclude,' + str(sys.argv[24]) + ','] + ['--exclude,' + str(sys.argv[25]) + ','] + ['--exclude,' + str(sys.argv[26]) + ','] + ['--exclude,' + str(sys.argv[27]) + ','] + ['--exclude,' + str(sys.argv[28]) + ','] + ['--exclude,' + str(sys.argv[29]) + ','] + ['--exclude,' + str(sys.argv[30]) + ','] + ['--exclude,' + str(sys.argv[31]) + ','] + ['--exclude,' + str(sys.argv[32]) + ','] + ['--exclude,' + str(sys.argv[33]) + ','] + ['--exclude,' + str(sys.argv[34]) + ','] + ['--exclude,' + str(sys.argv[35]) + ','] + ['--exclude,' + str(sys.argv[36]) + ','] + ['--exclude,' + str(sys.argv[37]) + ','] + ['--exclude,' + str(sys.argv[38]) + ','] + ['--exclude,' + str(sys.argv[39]) + ','] + ['--exclude,' + str(sys.argv[40]) + ','] + ['--exclude,'+ str(sys.argv[41])+ ','] + ['--exclude,'+ str(sys.argv[42])+ ','] + ['--exclude,'+ str(sys.argv[43])+ ','] + ['--exclude,'+ str(sys.argv[44])+ ','] + ['--exclude,'+ str(sys.argv[45])+ ','] + ['--exclude,'+ str(sys.argv[46])+ ','] + ['--exclude,'+ str(sys.argv[47])+ ','] + ['--exclude,'+ str(sys.argv[48])+ ','] + ['--exclude,'+ str(sys.argv[49])+ ','] + ['--exclude,'+ str(sys.argv[50])+ ','] + ['--exclude,'+ str(sys.argv[51])+ ','] + ['--exclude,'+ str(sys.argv[52])+ ','] + ['--exclude,'+ str(sys.argv[53])+ ','] + ['--exclude,'+ str(sys.argv[54])+ ','] + ['--exclude,'+ str(sys.argv[55])+ ','] + ['--exclude,'+ str(sys.argv[56])+ ','] + ['--exclude,'+ str(sys.argv[57])+ ','] + ['--exclude,'+ str(sys.argv[58])+ ',']
+ subprocess.call(['tar', 'czf', chrome_package.stem, chrome_package'])
if __name__ == '__main__':
main()
4. 运行脚本:在命令行中,导航到包含`google-chrome`文件夹的位置,然后运行`install.py`脚本。例如:
bash
cd /path/to/your/google-chrome/folder
python install.py --user-data-dir /path/to/your/user/data/dir --output /path/to/your/output/directory --version 78 --force
这将在指定的位置创建一个新的Chrome安装包。