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))

相关推荐
John_ToDebug12 小时前
惰性绑定 vs 立即注入:Chromium 扩展 API 初始化策略深度对比
c++·chrome·v8
代码的乐趣12 小时前
支持selenium的chrome driver更新到147.0.7727.56
chrome·python·selenium
海的透彻2 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
chenjingming6662 天前
jmeter导入浏览器上按F12抓的数据包
前端·chrome·jmeter
John_ToDebug2 天前
Chrome 首次启动引导页里触发 Pref 设置,为什么主进程收不到 IPC
c++·chrome
小鹿软件办公2 天前
谷歌 Chrome 终于推出垂直标签页与更智能的阅读模式
前端·chrome
John_ToDebug2 天前
Chromium 页面类型与 IPC 通信机制深度解析
前端·c++·chrome
淼淼爱喝水3 天前
Ansible 基础模块实战作业详细教程
chrome·github·ansible
天***88523 天前
系统自动启动管理,文件粉碎、软件卸载、WIFI密码查看、硬盘测速、系统优化等
chrome
Free Tester3 天前
手动访问网页用的chrome,和使用命令行指定端口启动的chrome,浏览器指纹是否一致
前端·chrome