Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 无界面模式下使用 selenium

Linux 无界面模式下使用 selenium

原创
作者头像
Lorin 洛林
发布于 2024-08-11 08:38:18
发布于 2024-08-11 08:38:18
1.7K0
举报
文章被收录于专栏:Python 技术小屋Python 技术小屋

前言

  • Linux 服务器上运行自动化测试或网页爬虫时,常常需要使用 Selenium 来驱动浏览器进行操作。然而,Linux 服务器通常没有图形用户界面(GUI),这就需要使用无界面模式(headless mode)来运行浏览器。本文将介绍如何在 Linux 无界面模式下使用 Selenium。本文以 centos 为例进行演示。

什么是无界面模式?

  • 无界面模式(headless mode)是一种不显示图形用户界面的浏览器运行方式。浏览器在后台运行,执行所有操作但不显示任何窗口。这对于服务器环境特别有用,因为它们通常没有 GUI 环境。

具体步骤

安装谷歌浏览器

代码语言:txt
AI代码解释
复制
yum install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

查看安装的谷歌浏览器的版本

代码语言:txt
AI代码解释
复制
yum list | grep chrome

下载对应版本驱动并安装

代码语言:txt
AI代码解释
复制
wget http://npm.taobao.org/mirrors/chromedriver/89.0.4389.23/chromedriver_linux64.zip

# 安装
yum install -y unar
unar chromedriver_linux64.zip

Python 测试代码

  • Python 3.x
  • selenium==4.16.0
代码语言:Python
AI代码解释
复制
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# 配置无头浏览器选项
options = Options()
options.add_argument("--headless")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)

driver_executable_path = "./chromedriver"

chrome_service = Service(driver_executable_path)
driver = webdriver.Chrome(service=chrome_service, options=options)

driver.get("http://www.baidu.com")

driver.quit()

总结

  • 在 Linux 无界面模式下使用 Selenium 可以帮助你在没有图形用户界面的服务器上进行自动化测试和网页爬取。通过正确配置浏览器和处理依赖问题,你可以顺利地在无界面模式下运行 Selenium 完成各项任务。希望本文能帮助你学会在 Linux 环境中使用 Selenium。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux 安装 chromedriver,selenium 踩坑总结
2、Linux VM_0_10_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
shirishiyue
2019/03/18
31.7K2
Selenium设置浏览器常用参数详解
新码农
2023/10/18
1.3K0
selenium 无头模式 以及防止被检测
它是怎么做的的呢?一般情况下,我们使用Selenium打开一个网页时,会有一个提示:Chrome正受到自动测试软件的控制。
py3study
2020/11/04
16.3K0
selenium 无头模式 以及防止被检测
Selenium 如何使用代理 IP 进行 Web 爬虫(无认证实现、有账号密码认证实现)
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/01/02
4.7K0
Selenium 如何使用代理 IP 进行 Web 爬虫(无认证实现、有账号密码认证实现)
selenium实战指南:如何防止被浏览器检测?
在网络技术飞速发展的今天,自动化测试作为软件质量保证的重要手段,已经越来越受到开发者和运维人员的重视。其中,Selenium以其强大的功能和灵活的跨平台特性,成为了许多开发者进行Web应用自动化测试的首选工具。然而,随着浏览器安全策略的不断完善,如何有效地防止Selenium在自动化测试过程中被浏览器检测到,成为了开发者们面临的一个新的挑战。本文将详细探讨Selenium在防止被浏览器检测方面的技巧,帮助开发者更好地应对这一问题。
小白的大数据之旅
2024/11/20
1.2K0
selenium实战指南:如何防止被浏览器检测?
厌倦了逆向,还是总结下 selenium 吧。
driver.switch_to.frame(通过find_element_by函数定位的frame、iframe标签对象)
咸鱼学Python
2020/07/15
1.5K0
基于web系统通过Python+selenium + headless 模拟用户操作的无界面化自动执行探讨
1、在Jenkins master节点下挂载Jenkins子节点,Jenkins子节点搭建在Windows系统下。
Criss@陈磊
2019/08/01
1.6K0
python+selenium有无界面的操作
1、按win+r,输入 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,点击确定; 把所要启动的软件快捷方式放到里面就可以了
读懂原理
2022/05/13
9260
python+selenium有无界面的操作
Python+Selenium爬虫:豆瓣登录反反爬策略解析
1. 引言 在当今互联网时代,数据抓取(爬虫)技术广泛应用于数据分析、市场调研、自动化测试等领域。然而,许多网站采用动态加载技术(如Ajax、React、Vue.js等框架)来渲染页面,传统的requests库无法直接获取动态生成的内容。这时,Selenium成为解决动态页面爬取的重要工具。 豆瓣作为一个典型的动态加载网站,其登录页面涉及表单提交、动态验证码、Ajax请求等复杂交互。本文将通过Python + Selenium,详细介绍如何模拟登录豆瓣,并处理动态加载的登录页面。
小白学大数据
2025/05/14
2530
Linux中Chrome无界模式动态代理IP的配置(Selenium)
Python 爬虫设置代理的方式有很多, 比如给urlib、request、selenium等方式设置代理,这部分的细节代码在网上一搜一大堆。那么问题来了,比如你要抓取淘宝或模拟验证码操作登录,是不是要采用这种方式(Selenium + Chromedriver + Chrome)实现呢?
蒋老湿
2020/06/28
4.3K0
Linux中Chrome无界模式动态代理IP的配置(Selenium)
深度解析:使用 Headless 模式 ChromeDriver 进行无界面浏览器操作
为了解决这些问题,无界面浏览器(Headless Browser)技术应运而生。无界面浏览器是一种没有图形界面的浏览器,它能够在后台运行并模拟用户的浏览器行为。相比传统爬虫,它能够绕过网站的反爬机制,并高效处理动态加载的内容。
jackcode
2025/02/19
2770
深度解析:使用 Headless 模式 ChromeDriver 进行无界面浏览器操作
[selenium] 新版本 chrome 取消‘Chrome 正在受到自动软件的控制’提示
def selenium_driver(enact): “”” 驱动浏览器无头模式设置 “”” options = Options() # options.add_argument(‘–headless’) # options.add_argument(‘–no-sandbox’) # options.add_argument(‘–disable-dev-shm-usage’) # 下载路径设置 path = os.path.join(PATH, enact) is_exists = os.path.exists(path) if not is_exists: os.mkdir(path) prefs = {“download.default_directory”: path} options.add_experimental_option(“prefs”, prefs) driver = webdriver.Chrome(executable_path=r”谷歌驱动插件路径”, chrome_options=options) return driver 2、目前不支持无头模式下更改浏览器下载路径,后续可能会支持!
kirin
2021/03/18
3K0
Selenium自动化防爬技巧:从入门到精通,保障爬虫稳定运行,通过多种方式和add_argument参数设置来达到破解防爬的目的
在Web自动化测试和爬虫开发中,Selenium作为一种强大的自动化工具,被广泛用于模拟用户行为、数据抓取等场景。然而,随着网站反爬虫技术的日益增强,直接使用Selenium很容易被目标网站识别并阻止。因此,掌握Selenium的防爬策略与参数设置变得尤为重要。本文将详细介绍几种常见的Selenium防爬方法,并列出关键的防爬参数,同时提供详细的代码案例。
小白的大数据之旅
2024/11/20
7650
Selenium自动化防爬技巧:从入门到精通,保障爬虫稳定运行,通过多种方式和add_argument参数设置来达到破解防爬的目的
selenium使用
请注意,本文编写于 1727 天前,最后修改于 996 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.6K0
selenium使用
Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装[通俗易懂]
简介:Selenium中运行需要先配置WebDriver,各主流浏览器安装配置大同小异。
全栈程序员站长
2022/10/02
2.4K0
Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装[通俗易懂]
Selenium与WebDriver:Errno 8 Exec格式错误的多种解决方案
在使用Selenium和WebDriver进行网页自动化时,可能会遇到各种错误。其中一个常见问题是执行格式错误(Errno 8 Exec format error)。这个错误通常在运行ChromeDriver时出现,错误提示涉及路径中的某个文件,如THIRD_PARTY_NOTICES.chromedriver。本文将概述这个问题的背景,并提供多种解决方案,包括如何使用代理IP技术进行数据抓取。
jackcode
2024/07/30
4430
Selenium与WebDriver:Errno 8 Exec格式错误的多种解决方案
【Python爬虫实战】深入 Selenium:从节点信息提取到检测绕过的全攻略
在使用 Selenium 进行网页自动化时,不仅需要掌握基本的节点信息提取和选项卡管理,还需要考虑到如何高效等待加载,以及如何绕过网站对自动化工具的检测。这篇文章将详细介绍如何使用 Selenium 获取节点信息、处理延时等待、管理多选项卡,并分享多种绕过检测的方法,帮助开发者应对各种自动化测试中的挑战。
易辰君
2024/11/07
8320
CentOS7下python3 selenium3 使用Chrome的无头浏览器 截取网页全屏图片
selenium是一个模拟浏览器的自动化执行框架,但是如果每次执行都要打开浏览器来处理任务的话,效率上都不高。最重要的是如果安装在Centos7服务器环境下,打开浏览器来模拟操作是更加不合适的,尤其是碰上需要截取网页图片这样的需求。
Devops海洋的渔夫
2019/12/02
2.3K0
selenium+python自动化100-linux搭建selenium环境
前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定。于是想到用chrome来了的headless无界面模式,确实方便了不少。
上海-悠悠
2019/09/27
3.8K0
Python+Selenium详解(超全)
selenium 是一个 web 的自动化测试工具,不少学习功能自动化的同学开始首选 selenium ,因为它相比 QTP 有诸多有点:
用户8449980
2021/07/11
1.5K0
推荐阅读
相关推荐
linux 安装 chromedriver,selenium 踩坑总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档