当前位置: 首页 > article >正文

模拟用户在浏览器操作的脚本在 CentOS 7 运行出问题了!!!

文章目录

  • 背景
  • 目的&结果
  • 先说问题
    • 问题说明
    • 解决问题
  • 安装 Chromium 版本
  • 安装 Chrome Stable 版本
    • 在线安装
    • GLIBC 版本问题
    • 离线安装
  • 注意事项

背景

前两天用Python Selenium库写了个模拟用户在浏览器操作的脚本,作为一名业余选手,在本地运行成功后打算扔到云服务器上跑,没想到一路坎坷遇到了不少问题(主要是不懂)。本文就记录下在这个过程中遇到的问题以及解决方案,如果对各位有帮助还请点个赞支持一下小弟。

目的&结果

因为脚本中会运行 Chrome 浏览器,所以要在 CentOS 操作系统中安装 Chrome 浏览器, 否则执行脚本时会报错 NoSuchDriverException

安装时可以选择 Chrome Stable 或者 Chromium 这两个版本,本文都有记录,大家可选择其中一种。

我选择的是 Chromium ,因为安装过程非常快。

先说问题

问题说明

在执行安装操作前, 我先将问题抛出来。

不论是 Chrome Stable 还是 Chromium,在 CentOS 7 执行 yum install 时都会报错 Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86_64&release=7&repo=sclo-rh error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error

这个问题的原因是因为 CentOS 7 的生命周期在2024年6月30日结束,mirrorlist.centos.org对于CentOS 7的支持也终止了。意味着CentOS 7用户将无法再通过该服务获取软件包更新。

这个问题怎么解决?

解决问题

我们需要把系统上的软件包镜像修改为vault.centos.org。

vault.centos.org是CentOS的归档站点,用于存储已经停止支持的CentOS版本的软件包和镜像。

有两种修改方式,选择任意一种方式执行脚本即可。

方式一:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

方式二:

curl -s -L https://www.alphagnu.com/upload/centos7-repo-fix.sh | bash

安装 Chromium 版本

安装 Chromium 版本的浏览器是最方便的,我也是后面才找到的这种方法。

直接执行下面的两个安装命令

#安装浏览器
yum install chromium
#安装驱动
yum install chromedriver 

安装成功后还需要将 chromedriver 可执行程序移动到系统路径,通常是 /usr/local/bin/ 或者 /usr/bin,可以通过 whereis chromedriver 查看安装的目录。

然后再为该驱动设置执行权限 sudo chmod +x /usr/local/bin/chromedriver

至此,脚本就可以成功运行了。如果到这里解决了你的问题,点个赞就可以关闭文章了。

安装 Chrome Stable 版本

在线安装

“CentOS 安装 Chrome“,在网上能搜到最多的就是这个版本。我先列一下步骤:

1.执行 sudo vi /etc/yum.repos.d/google-chrome.repo 在 CentOS 7 系统中添加谷歌官方 Yum 软件源。
2.添加 Yum 软件源信息:

[google-chrome] 
name=google-chrome 
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch 
enabled=1 
gpgcheck=0 
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

3.执行 sudo yum info google-chrome-stable 查看谷歌 Chrome 浏览器的软件包信息。
4.执行 sudo yum install google-chrome-stable 进行安装。
5.如果执行到这一步没有出现问题,执行 google-chrome --version 查看版本。
6.最后将输出的版本替换下面命令中的{version},然后执行命令。

注意:

#下载驱动
wget https://chromedriver.storage.googleapis.com/{version}/chromedriver_linux64.zip
#解压
unzip chromedriver_linux64.zip
#移动
mv chromedriver /usr/local/bin/
#设置执行权限
chmod +x /usr/local/bin/chromedriver

GLIBC 版本问题

如果在第4步骤,也就是执行 sudo yum install google-chrome-stable 命令时报错:

Error: Package: google-chrome-stable-130.0.6723.116-1.x86_64 (google-chrome)Requires: libc.so.6(GLIBC_2.25)(64bit)

这个时候就不要想着解决这个问题了,因为太麻烦。

离线安装

解决方案就是:直接下载 CentOS 7 支持的google-chrome-stable离线安装包手动安装。(选择一个chromedriver存在的版本)

当然,chromedriver 依然需要手动安装。

注意事项

注意:google-chrome-stable 和 chromedriver 版本一定要一致。

如果问题没有解决或者遇到文中无法下载的资源可以联系我,还请各位点个赞支持一下小弟。


http://www.kler.cn/a/538080.html

相关文章:

  • mysql 主从配置
  • 我们来学人工智能 -- 将Ollama已下载的模型从C盘迁出
  • 【Redis】redis 存储的列表如何分页和检索
  • 爬取豆瓣电影 Top250 数据的脚本及调整方法
  • win32汇编环境,结构体的使用示例一
  • Linux内核中的软中断与NAPI机制:高效处理网络数据包
  • 胶质瘤患者功能性磁共振成像数据分析的最佳方法
  • RestTemplate Https 证书访问错误
  • 【原创】Android Studio Ladybug 中Gradle配置
  • kafka服务端之分区管理
  • Linux之文件IO前世今生
  • C++基础 |右值引用、移动语义与完美转发
  • 模型 冗余系统(系统科学)
  • 数据结构及排序算法
  • Java反射机制:解锁Java编程的奥秘
  • netcore openTelemetry+prometheus+grafana
  • MIT 6.5940(一)
  • 用JavaScript实现异步锁
  • aio-pika 快速上手(Python 异步 RabbitMQ 客户端)
  • 模型 反脆弱
  • 前端开发中的主题切换:如何实现灵活的主题变化?
  • 半导体制造工艺讲解
  • sqli-lab靶场学习(五)——Less15-17(post方法盲注、修改密码)
  • 从DeepSeek上线亚马逊云科技,看大模型争霸背后的隐形战场
  • 青少年编程与数学 02-008 Pyhon语言编程基础 23课题、数据库操作
  • 蓝桥杯之c++入门(六)【string(practice)】