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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 离上一篇更新的博文应该过了挺久的了(python爬虫(上)–请求——关于旅游网站的酒店评论爬取(传参方法))...
    Mrhyden阅读 555评论 0 0
  • 这篇文章在介绍官网的同时使用了比较多的脚本示例,示例里遇到的问题有部分在本篇文章进行了解释,还有一篇文章专门记录了...
    顾顾314阅读 13,082评论 3 32
  • 引言 之前抓的妹子图都是直接抓Html就可以的,就是Chrome的浏览器F12的Elements页面结构和Netw...
    coder_pig阅读 5,319评论 1 15
  • 说到python爬虫,刚开始主要用urllib库,虽然接口比较繁琐,但也能实现基本功能。等见识了requests库...
    Rabin_xie阅读 52,494评论 34 101
  • "千金一笑"的故事出现在两千七百多年以前。那时候,中国还没有皇帝,皇帝的称呼是从太始皇开始的。中国在2700年前以...
    永恒寒星阅读 1,182评论 2 1

友情链接更多精彩内容