2018-12-18 Ubuntu服务器(无图形界面)配置PhantomJS+selenium

实验室新装的服务器,咳咳,新不新没有关系的了
主要是学校的网络首先要用自己的账号登录才能访问外网,否则只能访问校内网址、教育网(猜测)等某些网站。
安装Firefox再用XManager连接打开网页手动登录实在不方便,所以就采用无图形界面的PhantomJS浏览器和Selenium工具写了一个命令行登录的脚本,配置环境的过程记录如下:

1.安装Selenium

由于最新版本的Selenium已经不支持PhantomJS,所以
conda install selenium==3.8.0
安装支持PhantomJS的最后一个版本

2.安装PhantomJS

首先尝试官网下载,不知道是不是因为已经停止维护开发的原因,官网的下载地址没有点开,所以尝试其他方式。
sudo apt install phantomjs
最新的应该是下了400多MB的东西(有一次是apt-get装的只有几十MB),然而这么简单好像一般都不行,使用的时候会出现一个:

selenium.common.exceptions.WebDriverException: Message: 
Error - Unable to load Atom 'find_element' from file ':/ghostdriver/./third_party/webdriver-atoms/find_element.js'

百度搜到的解决方法是:

sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm -g install phantomjs-prebuilt

第二条报错没安装好像并没有影响,最后一条安装成功命令行中出现目录结构之类的内容。然后如果是安装在有图形界面上的系统的话,此时应该PhantomJS应该已经可以配合selenium 3.8正常使用了。
加一句看PhantomJS(的版本)是否安装成功:phantomjs --version

3.设置PhantomJS在无图形界面的情况下运行

默认安装好的PhantomJS好像还是需要有display这个东西(就是如果你直接用Xshell连接服务器而不是用Xmanager时,命令行执行firefox会告诉你的错误信息相关的)
解决方案:
sudo vim /usr/bin/phantomjs
在合适的位置(紧接着已经有的export语句)添加两行:

export QT_QPA_PLATFORM=offscreen
export QT_QPA_FONTDIR=/usr/share/fonts

关掉当前连接,打开一个新的连接应该就可以正常使用了。

你可能感兴趣的:(2018-12-18 Ubuntu服务器(无图形界面)配置PhantomJS+selenium)