Llinux自动安装chrome与chromedriver

资源下载

Google Chrome Linux 版 RPM 安装包下载

下载地址:https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

如果遇到依赖性问题,可以尝试添加Google的官方仓库:

bash 复制代码
sudo tee /etc/yum.repos.d/google-chrome.repo <<EOF
[google-chrome]
name=google-chrome
baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
Chrome Driver 安装包下载

下载地址:https://chromedriver.storage.googleapis.com/index.html

chome 其他版本下载地址(zip压缩包)

json格式:googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json

web页面:https://googlechromelabs.github.io/chrome-for-testing/

安装(python脚本)

python 复制代码
# -*- coding: utf-8 -*-
import sys
import os
import logging as log
import time

# RPM包与驱动包保存地址
PKG_PATH = ""  # 替换为安装包地址


# linux 环境安装google-chrome
def linux_install_google_chrome():
    if sys.platform != 'win32':
        google_version = os.popen("google-chrome -version").read()
        log.info('google-chrome -version : {}'.format(google_version))
        prm_package_path = os.path.join(PKG_PATH, "google-chrome-stable_current_x86_64.rpm")
        if google_version == '':
            # 未安装 直接安装
            log.info('install google-chrome')
            os.system('rpm -ivh {}'.format(prm_package_path))
        elif google_version != 'Google Chrome 100.0.4896.75 \n':
            # 版本不对 卸载重装
            log.info('uninstall google-chrome')
            os.system('rpm -e --nodeps google-chrome-stable')
            time.sleep(20)
            log.info('reinstall google-chrome')
            os.system('rpm -ivh {}'.format(prm_package_path))
            time.sleep(20)
        google_version = os.popen("google-chrome -version").read()
        log.info('install google-chrome finished  -version : {}'.format(google_version))
        os.system('rm -f /etc/yum.repos.d/google-chrome.repo')
    else:
        log.info('Current system is {},not linux! Please install google chrome by yourself!'.format(sys.platform))


# linux 环境安装chromedriver
def linux_install_chromedriver():
    if sys.platform != 'win32':
        chromedriver_version = os.popen("chromedriver -version").read()
        log.info('google-chrome -version : {}'.format(chromedriver_version))
        chromedriver_path = os.path.join(PKG_PATH, "chromedriver")
        if '100.0.4896.60' not in chromedriver_version:
            os.system('chmod +x {}'.format(chromedriver_path))
            log.info('move chromedriver')
            os.system('mv -f {} /usr/bin/'.format(chromedriver_path))
            chromedriver_version = os.popen("chromedriver -version").read()
            log.info('current chromedriver -version : {}'.format(chromedriver_version))
        os.system('rm -f /etc/yum.repos.d/google-chrome.repo')
    else:
        log.info('Current system is {},not linux! Please install chromedriver by yourself!'.format(sys.platform))

相关推荐
嵌入式小站15 小时前
STM32 零基础可移植教程 24:SPI Flash 读数据,先从指定地址读几个字节
chrome·stm32·嵌入式硬件
John_ToDebug16 小时前
在 Windows 上搭建 Chromium 148 内核编译环境:一份实战笔记
chrome·经验分享·笔记
lzhdim18 小时前
C盘空间多出来4GB:谷歌服软 Chrome本地AI大模型可禁用、删除了
前端·人工智能·chrome
喜欢踢足球的老罗1 天前
Chrome 扩展 MV3 终极指南:破解 Background Service Worker 的生命周期与 Token 管理困局
前端·chrome
喜欢踢足球的老罗1 天前
Chrome MV3 插件架构深度解析:Service Worker 生命周期与 Token 管理的三层博弈
前端·chrome·架构
一拳小和尚LXY2 天前
我开发了一款免费 Chrome 插件 TabScribe:一键复制所有标签页为 Markdown/JSON,完全离线零追踪
前端·chrome·json
dust_and_stars2 天前
ubuntu24上安装chrome和edge浏览器
前端·chrome·edge
胡萝卜的兔2 天前
go使用voidint实现版本切换
开发语言·chrome·golang
深蓝电商API2 天前
逆向工程入门:从Chrome DevTools到JS混淆还原
前端·javascript·chrome·爬虫·chrome devtools
AI周红伟2 天前
事件分析:FDE标准,“OpenClaw+RAG+Agent” 应用实战的标准
前端·人工智能·chrome·chatgpt·aigc