selenium+chromedriver在服务器运行

centos 无界面 服务器 安装chrome部署chromedriver 2018/3/22 基本 做完了,要弄进docker里面去了的时候,才搜到 docker-chromium 基础镜像,和前辈走过的路,也许这样更方便吧,而且生产环境 就是linux-centos所以 不如一直在Linux或者docker里开发,我一直在mac里开发,所以迈过了很多坑~http://blog.youkuaiyun.com/littlebrain4solving/article/details/7... 阅读详情

selenium+chromedriver在服务器运行

1.前言

想使用selenium从网站上抓数据,但有时候使用phantomjs会出错。chrome现在也有无界面运行模式了,以后就可以不用phantomjs了。

但在服务器安装chrome时出现了一些错误,这里总结一下整个安装过程

2.ubuntu上安装chrome

# Install Google Chrome
# https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-line
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb  # Might show "errors", fixed by next line
sudo apt-get install -f

这时应该已经安装好了,用下边的命行运行测试一下:

google-chrome --headless --remote-debugging-port=9222 https://chromium.org --disable-gpu

这里是使用headless模式进行远程调试,ubuntu上大多没有gpu,所以–disable-gpu以免报错。
之后可以再打开一个ssh连接到服务器,使用命令行访问服务器的本地的9222端口:

curl http://localhost:9222

如果安装好了,会看到调试信息。但我这里会报一个错误,下边是错误的解决办法。

1)可能的错误解决方法

运行完上边的命令可能会报一个不能在root下运行chrome的错误。这个时候使用下边方设置一下chrome

1.找到google-chrome文件
我的位置位于/opt/google/chrome/
2.用vi打开google-chrome文件

vi /opt/google/chrome/google-chrome

在文件中找到

exec -a "$0" "$HERE/chrome" "$@"

3.在后面添加 –user-data-dir –no-sandbox即可,整条shell命令就是

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

4.再重新打开google-chrome即可正常访问!

3.安装chrome驱动chromedriver

下载chromedriver
chromedriver提供了操作chrome的api,是selenium控制chrome的桥梁。

chromedriver最好安装最新版的,记的我一开始安装的不是最新版的,会报一个错。用最新版的chromedriver就没有问题,最新版的可以在下边地址找到
https://sites.google.com/a/chromium.org/chromedriver/downloads

我写这个文章时最新版是2.37

wget https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

到这里服务器端的无界面版chrome就安装好了。

4.无界面版chrome使用方法

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument("user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'")
wd = webdriver.Chrome(chrome_options=chrome_options,executable_path='/home/chrome/chromedriver')

wd.get("https://www.163.com")

content = wd.page_source.encode('utf-8')
print content

wd.quit()

这里chrome_options中的第三项设置参数,使用这个设置可以避免网站检测到你使用的是无界模式进行反抓取。

下边另外的两项设置,不进行设置时在桌面版linux系统,或者mac系统上会打开有界面的chrome.调试时可以注释掉下边两行使用有界面版chrome来调试程序。

chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

5.参考

https://jiayi.space/post/zai-ubuntufu-wu-qi-shang-shi-yong-chrome-headless
https://blog.youkuaiyun.com/u013703963/article/details/71083802

麒麟环境下Selenium的使用 本文主要介绍了在内网环境下、服务主机无域名的情况下,为了抓取内网其他系统网页数据,安装使用Selenium的方法。并详细介绍了离线安装python依赖包的方法。 阅读详情

相关推荐

无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境

搭建背景 有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。 搭建流程 安装虚拟输出设备:sudo apt-get install xvfb 下载google-chrome-stable deb包,由于网上大部分链接没法下载,我这里下载了一个上传到github上了,wget https:/...

vwycm的博客 1810

chrome远程调试 [selenium chromedriver无界面模式调试]

项目使用 selenium + chrome 使用 chromedriver 爬一些网站,一般来说在本地调试之后放到服务器上用无界面模式直接查看效果是一样的。不过有些时候出问题跟预想的不一致,这种情况下总是想着能看一下当前啥状态,好评估后续如何修改。主要是为了查看一下chrome在服务器上运行的情况。 环境安装传送门 chrome安装 wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm yum loc

xo19882011的专栏 2375

Selenium与ChromeDriver在服务器端自动化测试的全程指南

Selenium 是一个用于Web应用程序测试的工具,支持多种浏览器和编程语言。它广泛应用于自动化测试、回归测试、持续集成等场景,以确保应用程序的稳定性和可靠性。无头浏览器测试(Headless Browsing Testing)是指在没有图形用户界面的情况下执行浏览器自动化测试。在这种模式下,浏览器的渲染引擎会加载页面内容并执行JavaScript代码,但不会在屏幕上渲染实际的图形界面。无头模式具有以下优点:资源高效利用:无头模式不需要显示图形界面,因此可以大大减少内存和CPU的消耗。

weixin_35732273的博客 1075

爬虫Spider 08 - chromedriver设置无界面模式 | selenium - 键盘操作 | 鼠标操作 | 切换页面 | iframe子框架 | scrapy框架

文章目录Spider 07回顾cookie模拟登陆三个池子selenium+phantomjs/chrome/firefoxSpider 08 笔记chromedriver设置无界面模式selenium - 键盘操作selenium - 鼠标操作selenium - 切换页面民政部网站案例selenium - iframe子框架百度翻译破解案例scrapy框架练习 Spider 07回顾 cook...

哦 卷! 779

selenium+chromedriver在服务器运行的详细教程

1.前言 想使用selenium从网站上抓数据,但有时候使用phantomjs会出错。chrome现在也有无界面运行模式了,以后就可以不用phantomjs了。 但在服务器安装chrome时出现了一些错误,这里总结一下整个安装过程 2.ubuntu上安装chrome # Install Google Chrome # https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-line sudo apt-get install libxss1 libappindicator1

大模型应用开发面试全流程实录:RAG、上下文工程与多Agent协作技术深度解析

Transformer 依靠多头自注意力和位置编码实现高效序列建模。Prompt Engineering包含多种设计思路,如 Zero-shot、Few-shot、Chain-of-thought,提升模型泛化和推理。Token 和上下文窗口直接影响模型性能与成本,选择需结合实际业务场景(如客服对话需长窗口)。Embedding 技术是 RAG 的基础,决定了语义检索效果。向量数据库如 FAISS、Milvus等分别适用于本地/分布式检索。

m0_52114506的博客 828

银河麒麟安装lnmp,安装chrome。

安装包链接:https://pan.baidu.com/s/1RXWXKS_qzZJoHWzwpIxRKw?链接:https://pan.baidu.com/s/1YqFLfGpE5DP3Sf_2GsXqNg?–来自百度网盘超级会员V7的分享。make nginx 报错一。我所选择上传的地方是。编译安装相关配置文件。离线安装chrome。

qq_43198727的博客 3109

逆向实战:Soul聊天协议加密与Frida绕过检测

本文详细解析了Soul聊天协议逆向分析的全过程,重点介绍了如何利用Frida绕过应用的反调试检测机制。通过静态分析定位关键SO库,并编写Frida脚本动态Hook线程创建函数,成功实现对抗。文章还进一步追踪了基于DES算法的加密流程,并探讨了协议数据结构的解析方法,为移动应用安全研究提供了实战参考。

2w3e4r5t6y的博客 1133

chromedriver 下载_无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境

搭建背景有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。 搭建流程 安装虚拟输出设备:sudo apt-get install xvfb下载google-chrome-stable deb包,由于网上大部分链接没法直接下载,我这里下载了一个上传到github上了,wget https://ra...

weixin_39873741的博客 198

Android HCE实战:手把手教你用Kotlin实现NFC公交卡模拟(含完整APDU指令解析)

本文是一份Android HCE实战指南,详细讲解如何使用Kotlin实现NFC公交卡模拟。内容涵盖HCE服务搭建、APDU指令(如SELECT AID、GET PROCESSING OPTIONS)的完整解析与响应逻辑,并提供读卡器端测试代码,帮助开发者深入理解基于主机的卡模拟技术。

qsc901234567的博客 1118

COMSOL新手必看:锂电池仿真从入门到精通的5个实战案例(附模型文件)

本文为COMSOL新手提供锂电池仿真的5个实战案例,涵盖锂枝晶生长模拟、电池热失控预警、SOC估计等效电路模型、电池组液冷系统热管理及SOH衰退模型构建。通过详细步骤和参数设置,帮助用户快速掌握锂电池仿真技术,提升新能源研发效率。附模型文件可直接应用。

wdx01234567的博客 260

服务器上运行Selenium

有些时候,我们写点爬虫或者写点自动化脚本不能一直占据着某台电脑,那样太浪费资源了,所以将其部署到服务器上默默的在后台运行是一个不错的选择。 普通的python爬虫部署太过简单,这里就总结一下怎么部署selenium吧。 一:首先在服务器上安装chrome和其对应的chromedriver。这个非常重要,一定要下载和安装其一一对应的版本。 安装chrome sudo apt-get install...

塔克米的博客 8519

头歌 操作系统 课堂练习2.1:外部中断 第2关:第一次时钟中断

将答案0x796c输入到workspace/mushixun/恢复点的地址.txt中的括号里即可,随后使用kill命令防止对第三关的环境造成影响。

Yinfrey的博客 6091

java项目服务器响应超时,java-Selenium Chromedriver服务器超时,尽管可用

我有一个Java Selenium项目,该项目不会在我的计算机上运行,??但会在具有相同OS版本(OSX 10.13.1),Chrome浏览器版本(63.0.3239.84)和chromedriver版本(2.34)的同事的计算机上运行.我收到消息:Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e...

weixin_33726387的博客 1351

基于python+mediapipe的手势拖动识别(无gpu)

手势点方块拖动

weixin_38029956的博客 5982

AI训练师三级考证避坑指南|假证辨别+机构套路+OSTA验证

这是最基础的问题,也是最容易忽略的问题。人工智能训练师三级证书本身是有价值的——政府认可的职业技能等级证书、多地紧缺工种补贴、人才引进加分。但正因为有价值,才引来了大量骗子。记住三句话OSTA查不到的证,一分钱都不值声称免考包过的,100%是骗子培训费一次性谈清楚,后续加价直接走人如果你正在考虑考人工智能训练师三级证书,想要从报名到备考到拿证的完整一站式指南,欢迎查看我的付费专栏:📖《人工智能训练师三级·从零到拿证完全指南》99篇系统化内容,覆盖报名、备考、冲刺、拿证全流程。

白话机器学习 1222

WebDriverException:消息:未知错误:Chrome 无法启动:在 debian 服务器上使用 ChromeDriver Chrome 和 Selenium 异常退出

确保你的Chrome浏览器与对应的ChromeDriver版本兼容。可以从[这里](https://sites.google.com/a/chromium.org/chromedriver/downloads)下载适合你系统版本的ChromeDriver。在使用ChromeDriver在Debian服务器上运行Selenium时遇到WebDriverException:“未知错误:Chrome无法启动”的问题,通常是因为Chrome浏览器本身无法正常启动或配置不正确。# 指定ChromeDriver路径。

711

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3945

Python:如何在 CentOS 8 服务器上运行 Selenium 代码?

因项目需求,需要在 CentOS 8 服务器上运行 Python-Selenium 代码,那么该如何操作呢?

苏寅的博客 1424

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

如果一切正常,Chrome 浏览器将启动并打开 Google 网页。显示/usr/bin/which: no chromedriver。

qq_40914472的博客 481

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【技术笔记】利用Selenium构建服务器无界面爬虫

说在前面 在日常爬虫代码中,我们可以将各大云厂商购买到廉价服务器用来做分发爬虫任务。在一些反爬虫比较厉害的网站,我们一般可以选用Selenium来进行网站爬取。因为它模拟的就是我们平时在浏览器上的操作过程。但是这将会存在一个问题,Selenium 依赖的是具有图形界面的操作,而我们在云平台购买的服务器一般都没有图形界面的(预装Windows系统的除外)。那有没有让它在后台就可以运行的办法呢。答案是有的。下面就介绍一种常见的后台通过Selenium完成爬虫操作的过程。 1:安装浏览器(Google Chr

黑符石笔记集 1290

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

开发函数计算的正确姿势——运行 Selenium Java

前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。Fun: Fun 是一...

weixin_33898876的博客 126

linux(centos7) 上安装chrome和chromedriver

爬虫工作中,难免会遇到时间紧迫而且网站有一定的反爬虫措施,这时候就需要用到selenium+chrome+chromedriver来进行数据抓取。 假如项目需要放到linux服务器上,就需要在服务器搭建相应的环境。 1,需要chrome浏览器;2,需要浏览器驱动chromedriver;(我python环境) 一,安装chrome[参考] wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rp..

qq_43557600的博客 3625
上一篇: py2exe打包pycrypto加密模块出错原因
下一篇: 使用命令行对ios设备截屏
woodcol
博客等级 码龄19年 288粉丝 429原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值