帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
liunx服务器使用selenium
发布时间:2024-03-06 16:03:10   分类:帮助文档
liunx服务器使用selenium






文章目录
前言一、服务器下载google-chrome、chromedriver1、下载chrome2、下载chromedriver

二、安装Xvfb和python库pyvirtualdisplay、selenium1、安装Xvfb2、安装python库pyvirtualdisplay
三、配置好后测试总结



前言
最近在本地windows系统(下面简称本地)用selenium写了一个自动化爬虫,放到我liunx服务器(下面简称服务器)上面运行报错,记录处理流程

一、服务器下载google-chrome、chromedriver
一开始以为和本地一样,下好chrome浏览器和驱动就可以直接运行了(太天真了~)
1、下载chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum localinstall google-chrome-stable_current_x86_64.rpm


查看chrome版本安装对应版本chromedriver
google-chrome --version

我的版本是114.0.5735.133
2、下载chromedriver
去这里下载对应liunx版本安装包:https://registry.npmmirror.com/binary.html?path=chromedriver/
找不到一模一样的就找最相近的版本,也可以使用,比如我找不到114.0.5735.133,用的就是:114.0.5735.90/chromedriver_linux64.zip 下载到服务器上,解压使用
解压:
unzip chromedriver_linux64.zip

移动到执行目录:
mv chromedriver /usr/bin/chromedriver

给驱动执行权限,我懒直接给777:
cd /usr/bin/
chmod 777 chromedriver


到这我已经就好了,去执行脚本,各种报错,一查才发现,没有gui界面的liunx系统需要装模拟软件才可以!
二、安装Xvfb和python库pyvirtualdisplay、selenium

因为没有GUI,如果我们想使用Chrome/Firefox等浏览去,我们就需要Xvfb和python的pyvirtualdisplay库,给浏览器创造一个运行环境,这样浏览器就能顺利运行了。

1、安装Xvfb

下面来自万能的chatgpt,yyds!


在 CentOS 上安装 Xvfb(虚拟 X 服务器)可以通过以下步骤完成:
更新系统软件包:
sudo yum update

安装 Xvfb 和其他依赖包:
sudo yum install -y xorg-x11-server-Xvfb libXfont xorg-x11-fonts* xorg-x11-util*

配置 Xvfb 服务: 创建一个 Xvfb 的 systemd service 文件,使其在系统启动时自动运行。
首先,使用编辑器(如 nano 或 vim)创建一个新的 service 文件:
sudo nano /etc/systemd/system/xvfb.service

然后,将以下内容粘贴到文件中:
[Unit]
Description=Xvfb Service
After=network.target

[Service]
ExecStart=/usr/bin/Xvfb :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset

[Install]
WantedBy=default.target

保存并关闭文件。
启动和配置 Xvfb 服务:
sudo systemctl daemon-reload
sudo systemctl enable xvfb.service
sudo systemctl start xvfb.service

现在,Xvfb 服务已经在 CentOS 上成功安装并启动了。您可以使用指定的显示号码(这里是 “:99”)来运行需要图形显示的应用程序,如 Selenium 等。
请注意,以上步骤假设您正在使用 CentOS 7 或更高版本。如果您使用的是旧版本的 CentOS,请根据实际情况进行适当调整。

配置完后测试一下,没有报错,牛的牛的~
2、安装python库pyvirtualdisplay
这个就很简单了,使用pip3,不要安装错了环境 之前没有安装selenium可以在这里顺便安装一下~
pip3 install pyvirtualdisplay
pip3 install selenium


三、配置好后测试
from pyvirtualdisplay import Display
from selenium import webdriver

#因为没有GUI,如果我们想使用Chrome/Firefox等浏览去,我们就需要Xvfb和python的pyvirtualdisplay库,给浏览器创造一个运行环境,这样浏览器就能顺利运行了。


display = Display(visible=0, size=(800, 600))
display.start()
print('123')
options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--headless')
options.add_argument('--disable-gpu')

browser = webdriver.Chrome(options=options)
browser.get('http://www.baidu.com')
print(browser.title)

browser.quit()
display.stop()

使用python3运行,如果打印出浏览器标题,表示成功了! 其他报错可以参考百度、chatgpt解决

总结
参考: https://www.php1.cn/detail/Linux_ShangBuShu_54511b23.html https://www.bing.com/?scope=web&cc=US




香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价