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

在 CentOS 8 服务器上运行 Selenium 代码

1.安装依赖包

sudo dnf update -y
sudo dnf install -y wget unzip

2. 安装 Google Chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo dnf localinstall google-chrome-stable_current_x86_64.rpm -y

3. 安装 ChromeDriver

3.1首先查看 Chrome 的版本:

[root@master2 ~]# google-chrome --version
Google Chrome 129.0.6668.70 

3.2下载并安装 ChromeDriver(假设你下载的版本是 chrome-linux64.zip):

wget https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.70/linux64/chromedriver-linux64.zip
unzip chromedriver-linux64.zip
mv chromedriver-linux chromedriver 
mv chromedriver /usr/local/bin/
chmod +x /usr/local/bin/chromedriver/

3.3验证安装:

[root@master2 ~]# which chromedriver
/usr/local/bin/chromedriver/chromedriver

4. 安装 Selenium

sudo dnf install -y python3-pip
pip3 install selenium

5. 测试安装

创建一个简单的 Python 脚本以测试安装:

from selenium import webdriver

# 创建一个 Chrome 浏览器实例
driver = webdriver.Chrome()

# 打开一个网页
driver.get('https://www.baidu.com')

# 打印网页标题
print(driver.title)

# 关闭浏览器
driver.quit()

将上面的代码保存为 test_selenium.py,然后运行:

python3 test_selenium.py

如果一切正常,Chrome 浏览器将启动并打开 Google 网页。

注意事项

1.如果是在没有图形界面的服务器上运行 Selenium

1.1安装 Xvfb

sudo dnf install -y Xvfb

2如果执行which chromedriver命令

显示/usr/bin/which: no chromedriver

2.1 编辑 .bashrc 或 .bash_profile

vim  .bashrc
添加以下行:
export PATH=$PATH:/usr/local/bin/chromedriver

2.2 使更改生效:

source ~/.bashrc

3.如果你在无头模式下运行 Chrome,需要添加选项:

options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)

4.如果打开浏览器默认显示data;

在这里插入图片描述

添加完整连接来打开网站
例如:
# 打开一个网页
driver.get('https://www.baidu.com/')

http://www.kler.cn/news/323135.html

相关文章:

  • Camera Raw:打开图像
  • UE5 C++: 插件编写04 | 增加和删改前缀
  • 蓝桥杯【物联网】零基础到国奖之路:十二. TIM
  • 数据结构 ——— 顺序表oj题:编写函数,合并两个有序数组
  • 【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制
  • TDengine 在业务落地与架构改造中的应用实践!
  • RK3568笔记六十三:基于LVGL的Linux相机
  • 基于python+flask+mysql的音频信息隐藏系统
  • 9.27 C++模板
  • Spring Boot 进阶-Spring Boot 开发第一个Web接口
  • 监控易监测对象及指标之:全面监控Oracle ODBC数据库
  • 汽车传感器的针脚数量因传感器类型和应用而异。
  • 图论系列(dfs)9/24
  • 解决你的IDE在使用的时候测试单元@Test在创建Scanner对象是键盘键入不了的问题;
  • jupyter快捷键
  • 猎板PCB大讲堂:PCB谐振效应及其对设计的影响
  • 探索高效中文分词:elasticsearch-analysis-hanlp 插件深度解析
  • Spring Cloud Alibaba-(4)Sentinel【流控和降级】
  • 每日一题|2516. 每种字符至少取 K 个|双指针、最长子串、字典
  • WebRTC中的维纳滤波器实现详解:基于决策导向的SNR估计
  • Ubuntu一些文件及问题研究分析
  • LabVIEW提高开发效率技巧----使用状态机架构
  • 华为云技术深度解析:Flexus X实例与GitLab的云端协作实践
  • pgsql
  • uniapp view增加删除线
  • 二维数组的创建和初始化
  • 插入排序(insertion sort)
  • self-supervised, weakly supervised, and supervised respectively区别
  • Django中媒体文件的配置
  • UnityHub下载任意版本的Unity包