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

有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。

搭建流程

安装虚拟输出设备:sudo apt-get install xvfb

下载google-chrome-stable deb包,大部分链接需要FQ,我这里下载了一个上传到github上了,wget https://raw.githubusercontent.com/wycm/md-image/master/2019-03-14/google-chrome-stable_69.0.3497.100-1_amd64.deb,

安装:sudo dpkg -i google-chrome-stable_69.0.3497.100-1_amd64.deb。

安装对应依赖:apt-get -f install。

下载对应的chromedriver,wget https://raw.githubusercontent.com/wycm/md-image/master/2019-03-14/chromedriver_linux64.zip

解压:unzip chromedriver_linux64.zip

启动虚拟化输出设备Xvfb :99 -ac -screen 0 1280x1024x24 &

设置输出设备:export DISPLAY=:99

执行chrome.py脚步(需要安装:selenium:pip install selenium),代码如下:

from selenium import webdriver import time if __name__ == '__main__': options = webdriver.ChromeOptions() options.add_argument("--no-sandbox") //刚刚解压的chromedriver路径 driver = webdriver.Chrome("/root/wy/chromedriver",chrome_options=options) driver.get('https://www.baidu.com') print(driver.title) time.sleep(1) driver.close()

测试环境是否安装成功,能正确执行说明基本的运行环境已经搭建成功,如下图

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

VNC安装

以上基本的运行环境虽然搭建好了,有时候需要用于线上问题定位和调试的时候,那就需要有可视化输出,VNC就是用于可视化的。具体安装步骤如下

安装VNC需要的桌面环境:sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y

安装VNC server:sudo apt-get install vnc4server -y

启动server,并设置输出设备号为1:vncserver :1,首次运行会提示你设置密码。用于在后面使用客户端登录时需要。

指定接下来的进程的输出设备号为1(就为上一步指定设备号)。export DISPLAY=:1。

打开mac的屏幕共享,然后连上这台远程server,输入刚刚设置的密码。然后执行python chrome.py就能看到这台server的实时输出了。如下图

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

如果用于线上运行的时候,就没必要运行VNC server了,直接输出到Xvfb虚拟设备就可以了,节省资源。

版权声明
作者:wycm
出处:***
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

一个程序员日常分享,包括但不限于爬虫、Java后端技术,欢迎关注

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspjys.html