Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试

截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下面就让我们看看如何在 Linux 上配置使用 selenium 吧(无图形化界面也可用的方法!

本文介绍的方法仅 Debian 系可用。

安装 Chrome

首先下载 Chrome 本体,直接使用 wget 即可。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

经本人测试(2023.7.9,青岛联通家用宽带),本文所提及的所有谷歌相关链接均不需要科学上网。

然后安装即可:

sudo dpkg -i google-chrome-stable_current_amd64.deb

如果成功了,那么恭喜你可以直接进入下一步;而经测试,这一步大概率会报错提示缺少依赖,没有关系,现在只需要运行下面这句代码,再重新执行一遍安装命令即可:

sudo apt-get install -f

安装chrome-driver

执行下面的代码查看 Chrome 版本:

google-chrome -version

然后在 https://chromedriver.storage.googleapis.com/index.html 中寻找对应版本的 Chrome Driver(可使用 Ctrl + F 进行搜索)。没有完全对应的版本没关系,下载一个与之最接近的即可,例如我的版本号为 114.0.5735.198,于是我选择了 114.0.5735.90

1688892123614

1688892280212

在新界面中下载 linux64 版本(复制链接,使用 wget 下载即可),然后解压缩,并复制到 /usr/bin 目录下以方便程序使用(如果不放入这个目录,则需要在后续的 Python 程序中手动指定 Driver 位置)

1688892363032

wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo cp chromedriver /usr/bin

测试

安装 selenium 模块并尝试启动 Chrome。

将以下测试脚本写入 test.py

普通

from selenium import webdriver
from selenium.webdriver.chrome.options import Options


def init_driver():
    options = Options()
    options.add_argument('--no-sandbox') # 亲测 Debian 必须加,Ubuntu 随意
    options.add_argument("--headless")
    options.add_argument('--disable-gpu')
    driver = webdriver.Chrome(options=options)
    return driver

init_driver()

print('Success')

指定Driver路径

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service


def init_driver():
    options = Options()
    options.add_argument('--no-sandbox') # 亲测 Debian 必须加,Ubuntu 随意
    options.add_argument("--headless")
    options.add_argument('--disable-gpu')
    service = Service(executable_path='/root/chromedriver')
    driver = webdriver.Chrome(options=options, service=service)
    return driver

init_driver()

print('Success')

通过 pip 安装 selenium 并运行脚本,看到成功提示即可。

pip install selenium
python3 test.py

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

哔哩哔哩缓存转码|FFmpeg将m4s文件转为mp4|PHP自动批量转码B站视频

window下载安装FFmpeg 打开ffMpeg官网选择window>Windows builds from gyan.dev 打开https://www.gyan.dev/ffmpeg/builds/ 这里是上面提取的下载链接如果过期不能用自己去官网下 配置FFmpeg环境变量 上面下载的FFmpeg是绿色软件,下载解压到你的常用软件安装目…

《水经注地图服务》发布的影像数据如何在OsgEarth中调用

OsgEarth 是一个用于OpenSceneGraph (OSG)的可扩展地形渲染工具包,它是一个开源、高性能、3D 图形工具包。 只需创建一个简单的 XML 文件,将其指向您的图像、高程和矢量数据,将其加载到您最喜欢的 OSG 应用程序中,然后开始&#…

有赞商城无需代码连接美团开店宝的方法

1 使用场景 大部分的商家都会美团开店宝来作为线上店铺运营的营销服务平台,当有用户下单时,商家都希望第一时间知晓用户信息,但经常缺少数据依据,无法构建精确的客户画像,导致很多线索白白流失,难以做出有效…

在windows下安装ruby使用gem

在windows下安装ruby使用gem 1.下载安装ruby环境2.使用gem3.gem换源 1.下载安装ruby环境 ruby下载地址 选择合适的版本进行下载和安装: 在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量: 安装Ruby成…

在windows上安装minio

1、下载windows版的minio: https://dl.min.io/server/minio/release/windows-amd64/minio.exe 2、在指定位置创建一个名为minio文件夹,然后再把下载好的文件丢进去: 3、右键打开命令行窗口,然后执行如下命令:(在minio.…

使用vs 2017 C#项目发布

C#项目发布 vs 2017 打包项目源代码 (发布)iis 配置添加ssl 配置 vs 2017 打包项目源代码 (发布) iis 配置 添加ssl 配置 https://help.aliyun.com/zh/ssl-certificate/user-guide/install-ssl-certificates-on-iis-servers

不同语言操作符的优先级

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗? 并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致: Go: package mainimport "fmt"func main() …

el-select 中加了filterable 点击箭头下拉框回收不去问题

解决方式①:参考连接:(亲测有用)【element-select】添加过滤属性以及change后下拉框异常_element select过滤时,不收起下拉框_Y.哈哈的博客-CSDN博客 1、添加过滤属性后点击下箭头不收起下拉框 2、change通过dialog触发事件后&…

超详细 | 模拟退火算法及其MATLAB实现

模拟退火算法(simulated annealing,SA)是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当地控制温度的下降过程实现模拟退火,从而达到求解…

【Liux下6818开发板(ARM)】触摸屏

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

系统保留分区被误删怎么办?

当您在全新的磁盘上安装Windows时,将在磁盘的开头创建一个名系统保留的分区,大小约为100MB,然后是系统驱动器,然后是其他的驱动器。通常,系统保留分区在Windows 8中为350MB,在Windows 10中为500MB。系统保留…

解决git仓库无效问题

解决fatal: … not valid: is this a git repository?问题 凭证编辑修改成自己的账号密码即可解决

批量复制并重命名文件夹:实现指定目录下文件夹的自动覆盖更新

你是否曾经有过这样的经历,需要对某个文件夹进行更新,却发现它的名字和其他文件夹重复,导致更新后文件混乱?有了批量复制并重命名文件夹的功能,这一切都将成为过去。今天,我们将向您介绍如何使用这项功能&a…

【 Python 全栈开发 - 人工智能篇 - 45 】决策树与随机森林

文章目录 一、概念与原理1.1 决策树1.1.1 概念1.1.2 原理特征选择分割方法 1.1.3 优点与缺点1.1.4 Python常用决策树算法 1.2 随机森林1.2.1 概念1.2.2 原理1.2.3 优点与缺点1.2.4 Python常用随机森林算法 1.3 决策树与随机森林的比较1.3.1 相同之处1.3.2 不同之处 二、决策树算…

UNIX网络编程卷一 学习笔记 第二十六章 线程

在传统UNIX模式中,当一个进程需要另一个实体完成某事时,它就fork一个子进程,并让子进程去执行处理,Unix上大多网络服务器程序就是这么写的。 这种范式多年来一直用得很好,但fork调用存在一些问题: 1.fork调…

分享一次使用iostat命令定位邮件系统性能故障的经历

目录 一、背景介绍 二、环境介绍 三、分析过程 四、解决方法 最近在整理iostat,回忆起以前处理的系统性能的问题,现把分析方法整理如下。 一、背景介绍 以前公司内网部署有一套邮件系统,每天下午16:00-16:30之间邮件收发非常卡。 二、环…

NOsql之MongoDB入门分享

目录 一、MongoDB简介 1、概念理解 2、yum安装部署 3、二进制安装部署 4、配置文件解析 二、MongoDB基本管理 1、登录操作 2、管理命令 3、用户管理 一、MongoDB简介 1、概念理解 关系型数据库(RDBMS:Relational Database Management System) MySql、Ora…

动态规划之树形DP

动态规划之树形DP 树形DP何为树形DP 树形DP例题HDU-1520 Anniversary partyHDU-2196 Computer834. 树中距离之和 树形DP 何为树形DP 树形DP是指在“树”这种数据结构上进行的动态规划:给出一颗树,要求以最少的代价(或取得最大收益&#xff…

uniapp实现地图点聚合

点聚合的最重要的一个地方是在 markers 中添加 joinCluster true 这个重要的属性,否则将无法开启点聚合功能。 其实在uniapp的官方文档里体现的不是那么清楚,但是在小程序文档提示的就相当清楚。 实现效果如下: 重点:需要编译在小…

git下载太慢

git官网下载git太慢 阿里git地址 下载适合自己的版本