无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境
搭建背景
- 有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。
搭建流程
- 安装虚拟输出设备:
sudo apt-get install xvfb - 下载google-chrome-stable deb包,由于网上大部分链接没法下载,我这里下载了一个上传到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()
- 测试环境是否安装成功,能正确执行说明基本的运行环境已经搭建成功,如下图

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的实时输出了。如下图
- 如果用于线上运行的时候,就没必要运行VNC server了,直接输出到Xvfb虚拟设备就可以了,节省资源。
版权声明
作者:wycm
出处:https://www.cnblogs.com/w-y-c-m/p/10533361.html
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境的更多相关文章
- ubuntu 下搭建apache+python的运行环境
ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 服务器搭建远程docker深度学习环境
服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...
- Ubuntu下搭建Hyperledger Fabric v1.0环境
多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- 搭建Linux(Ubuntu)系统下的Differential Datalog运行环境
DDlog is a bottom-up, incremental, in-memory, typed Datalog engine. It is well suited for writing pr ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境(转)
前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常 ...
- [转]Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
本文转自:http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 ...
- windows下搭建学习objective-c 的运行环境【转载】
对于Iphone开发学习者而言,Object -c 是必修的语言.但是由于苹果的自我封闭的产业链发展模式(从芯片.机器.开发语言.终端产品.服务)的限制,要想开发针对苹果iPhone等产品的应用程序, ...
随机推荐
- php学习九:存取器&魔术方法
当声明属性的时候用到了private,那么的话只能本类中才能访问此属性,其他地方无法使用,这个时候需要给外界提供一些方法来使外界访问 方法一:存取器: 可以提供一个public的方法来使外界对类里面的 ...
- KVC与Runtime结合使用(案例)及其底层原理
一.KVC 的用法和实践 用法 KVC(Key-value coding)键值编码,顾名思义.额,简单来说,是可以通过对象属性名称(Key)直接给属性值(value)编码(coding)“编码”可以理 ...
- Jquery checkbox选中问题
checkbox中有.checked的写法,判断当前是否是选中状态,不过这种是针对[object HTMLInputElement]这种类型的,而对于[object Object]这种类型是不能使用的 ...
- C#正则表达式提取HTML中IMG标签中的SRC地址
百度到的一个,这里就直接贴了 http://blog.csdn.net/smeller/article/details/7108502#comments 一般来说一个 HTML 文档有很多标签,比如“ ...
- Android英文文档翻译系列(4)——PopupWindow
public class PopupWindow extends Object //直接继承至Object java.lang.Object ↳ android.widget.PopupWindow ...
- java如何计算两个日期之间相差多少天?
java如何计算两个日期之间相差多少天? public static void main(String [] args) { Date now = new Date(); Calendar cal = ...
- HDU_2888_Check Corners
Check Corners Time Limit: 2000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- postman app支持浏览器上的cookie
1. 安装postman app 注意要安装postman application(一个应用软件),而不是chrome 插件,打开下面的这个开关 2. chrom浏览器 给chrom浏览器安装pos ...
- Ubuntu18.04 英文系统下安装中文输入法
今天尝试了Ubuntu18.04LTS(依旧装的英文版)发现按照之前的方法( http://www.cnblogs.com/asmer-stone/p/5227188.html)安装中文输入法不行了, ...
- linux问题点滴,给普通用户添加sudo权限
最近又把linux捡起来了,虚拟机中安个元老级centos5.3继续搞.使用sudo临时获取超管权限命令时,提示”xxx is not in the sudoers file. This incide ...
