【八】centos7.6安装chrome和chromedriver并启动selenium

学习来源:

安装chrome和chrome driver
-----https://blog.csdn.net/zdlcome/article/details/133813441
安装Python11
-----https://blog.csdn.net/weixin_43741408/article/details/130251102
chromedriver下载地址
-----https://googlechromelabs.github.io/chrome-for-testing/

安装chrome

建议先直接下载rpm包或者用命令

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install google-chrome-stable_current_x86_64.rpm

安装成功后,打开 Google 浏览器时,会过一会闪退,需要在文件中添加配置。
1、进入指定文件夹:cd /opt/google/chrome
2、修改文件配置:vim google-chrome
3、在文件的最后一行接着写上:–user-data-dir --no-sandbox

直接运行会有错误,有一些依赖包确实,按照提示的包名安装上就可以了,
还有一个报错大概是linux运行浏览器需要安装 XVFB(X Virtual Framebuffer)提供一个虚拟的
X server 环境:

yum install Xvfb

然后验证,有对应版本输出应该就是可以了

google-chrome --version

安装chromedriver

下载对应版本的驱动,然后拖到云服务器上
然后解压,我的话是直接放在了项目里面,记得要修改权限

unzip chromedriver-linux64.zip
chmod 777 chromedriver

在这里插入图片描述

安装Python11

安装依赖

yum -y install  make gcc epel-release zlib-devel openssl-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel libffi-devel tk-devel xz-devel

安装openssl1.1.1(python3.11需要1.1.1版本以上的openssl)

yum install -y openssl-devel openssl11 openssl11-devel

配置openssl环境变量,可在 ~/.bashrce 文件中配置(上一步如果没做,这步即可忽略)

export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)

下载并解压python3.11.0,我建议直接去下载然后再拖到服务器

wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -zxvf Python-3.11.0.tgz

进入python解压目录,指定安装目录,加载ssl模块

./configure --prefix=/opt/soft/python --with-ssl

编译并安装

make && make install

完成安装,验证一下版本是否正确

/opt/soft/python/bin/python3.11 -V

配置环境变量

export_PATH=/opt/soft/python/bin/:$PATH
LD_LIBRARY_PATH=/opt/soft/python/lib/:$LD_LIBRARY_PATH

创建软连接,方便调用

ln -sfn /opt/soft/python/bin/python3.11 /usr/bin/python3
ln -sfn /opt/soft/python/bin/pip3.11 /usr/bin/pip3

准备脚本运行测试

再Python文件中要写这些,不然会报错

chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')chrome_options.add_argument("--no-sandbox")chrome_options.add_argument('--disable-dev-shm-usage')# linuxsev = Service("./chrome_linux/chromedriver")  # 对应的chromedriver地址# 创建浏览器对象driver = webdriver.Chrome(service=sev, options=chrome_options)

这里运行的时候应该能成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3032251.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

哪些软件格式在win跟linux上都能运行?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「linux的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 有一些软件格式在Windows和Li…

Git 分支命令操作详解

目录 1、分支的特点 2、分支常用操作 3、分支的使用 3.1、查看分支 3.2、创建分支 3.3、修改分支 3.4、切换分支 3.5、合并分支 3.6、产生冲突 3.7、解决冲突 3.8、创建分支和切换分支说明 1、分支的特点 同时并行推进多个功能开发,提高开发效率。各个分…

一、Prometheus介绍及部署

目录 一、什么是Prometheus? 二、特点 三、prometheus 的生态组件: 四、Prometheus架构图 五、prometheus 的工作模式 六、Prometheus 的工作流程 七、部署Prometheus 1、prometheus配置文件介绍 2、配置文件详解 3、配置systemd服务 用systemct…

十天学会单片机可能吗?单片机入门需要多久?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 十天学“会”单片机&#xf…

【Vue3进阶】- Pinia

什么是Pinia Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。它提供了类似于 Vuex 的功能,但比 Vuex 更加简单和直观。 需要在多个组件之间共享状态或数据时使用 Pinia 的 store,这样可以避免 props 和 eventBus 等传统方法…

计算机毕业设计 | vue+springboot线上考试 在线测试系统(附源码)

1,项目介绍 项目背景 在线考试借助于网络来进行,传统考试所必备的考场和监考对于在线考试来说并不是必要项目,因此可以有效减少组织考试做需要的成本以及设施。同时,由于在线考试系统本身具有智能阅卷的功能,也大大减…

不容错过的秘籍:JavaScript数组的创建和使用详解

在编程的世界里,数据是构建一切的基础。而在JavaScript中,有一种特殊且强大的数据结构,它就是——数组。 今天,我们就来一起探索数组的奥秘,从创建到使用,一步步掌握这个重要的工具。 一、什么是数组 数…

AI原生实践:测试用例创作探索

测试用例作为质量保障的核心,影响着研发-测试-发布-上线的全过程,如单元测试用例、手工测试用例、接口自动化用例、UI 自动化用例等,但用例撰写的高成本尤其是自动化用例,导致了用例的可持续积累、更新和迭代受到非常大制约。长久…

振弦采集仪在岩土工程监测中的数据处理与结果展示

振弦采集仪在岩土工程监测中的数据处理与结果展示 河北稳控科技振弦采集仪是岩土工程监测中常用的一种设备,用于采集地下土体振动信号,通过对数据的处理与结果的展示,可以有效地评估土体的动力特性和工程的稳定性。 振弦采集仪通过安装在土体…

(44)5.11第五章树和二叉树(树的基本概念)

1.树的基本概念 2.基本术语 2.1结点之间的关系 2.2结点,树的属性描述 2.3数和森林 2.4有序树和无序树 小结 3.树的性质 3.1树的常考性质 小结

又一位互联网大佬转行当网红,能写进简历么?

最近半个月,有两个中年男人仿佛住进了热搜。 一个是刚刚辟谣自己“卡里没有冰冷的 40 亿”的雷军,另一个则是在今年年初就高呼“如果有可能,企业家都要去当网红”的 360 创始人周鸿祎。 他也确实做到了。 先是作为当年 3Q 大战的当事人&…

手机格式化后数据还能恢复吗?恢复指南来了!

“手机被人捡走了,找回来后发现被格式化了,照片和聊天记录所有数据都没有了。手机格式化后数据还能恢复吗?难过到无法自拔,有没有类似情况但是恢复了数据的朋友回答一下?” 手机格式化是指将存储设备上的所有数据批量…

数据中心运维智能化管理 效果多炸裂?

从人工走向智能,一切的变化来源于数据中心规模化、系统复杂性和设备多样性的挑战,将平台运维的重要性推到了高点。 #01 为何要智能化? — 企业IT建设不断深入和完善,业务对系统稳定性和连续性的依赖,智能化将是更好…

Substrate 入门课第 14 期圆满结束,岗位内推直达知名 Web3 项目!

Substrate,一个完全免费且开源的框架,利用 Rust 语言的强大功能和安全性,为全球开发者提供了一个高效和灵活的开发环境。借助其模块化的设计,即使是新手开发者也能在短短 15 分钟内搭建起定制化的区块链。自 2020 年以来&#xff…

AIGC|将GPTBots与10000+主流软件连接,实现应用场景全覆盖

一、自动化工作流的无限可能,由AI带来 当前市场上存在许多自动化工作流工具,这些工具在很大程度上提升了人们的工作效率,为企业节省了大量时间和人力成本。然而,这些工具并非万能,它们在实际应用中仍存在一定的局限性…

课程设计 大学生竞赛系统

课程设计 大学生竞赛系统 wx:help-assignment 学生用户: wx:help-assignment 首页:推荐一些竞赛,热门活动等; 广场:用户可以通过广场来发表动态,同时也可以查看别人发布的动态,并且可以 关注…

2D-3D 转换中,为什么世界坐标要扩充成四维, 图像坐标要扩充成三维?

总结 在计算机视觉和图形学中,将世界坐标扩充成四维,以及图像坐标扩充成三维,是为了便于运用齐次坐标(homogeneous coordinates)进行坐标变换。这样的做法简化了投影变换的数学表示和计算,特别是在三维场景…

软件从立项申报到验收交付全资料整理(项目经理)

软件文档交付清单是指在软件开发项目完成后,开发团队需要准备的一份详细清单,用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 项目启动阶段: 项目计划书/立项报告:描…

来看一段有趣的代码

最近实现发票连续打印时,直接copy其他项目代码来用,主要是对文件的处理,这部分可以不涉及数据库操作,这种功能也很方便写单元测试。在写单元测试图片转PDF功能时,发现了一段有趣的代码: protected void sc…

瑞芯微 rk3588 Linux系统备份还原 StepbyStep

1.系统备份 1.1 将瑞芯微平台嵌入式系统的root ssh 权限开通 step1:sudo vi /etc/ssh/sshd_config step2: 找到PermitRootLogin,把开关打开: PermitRootLogin yes step3:重启ssh服务 sudo systemctl restart sshd 1.2.使用瑞芯微的打包脚本把嵌入式系统系统打包 这…