gongshijun / ict_autoconnect

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【2018.02.07更新】

  1. 最新版的Selenium已经不再支持Phantomjs,请使用如下命令安装3.6.0旧版。

pip install https://pypi.python.org/packages/48/90/29bcfa7ced2836016a400e8216e5a4166a71923b05d452ee7ee9e8775156/selenium-3.6.0-py2.py3-none-any.whl

  1. 最新版的py2exe只支持Python3,如需要请自行安装旧版。

====================================================================================

本程序采用Phantomjs + Selenium" 这个python,来实现计算所自动联网程序。

只是简单实现了功能,水平有限,还望见谅。

接下来,介绍如运行程序:

login.py 是登录的主程序,主要实现读取user.conf用户信息文件, 然后采用Phantomjs+Selenium,建立一个无GUI的浏览器,实现模拟点击登录操作。

以上需要安装python2.7,最新的Selenium包,并且下载对应操作系统的PhamtomJS程序到根目录下面。

ps: 所里登录验证方式改了,采用了两步认证,以及两级加密的方式,直接用之前版本实现的方式,困难比较大。

接下来,介绍如何py2exe。 运行setup.py, 就会在当前目录下面生成dist文件夹,然后在dist里面找到library.zip, 将js文件夹下面的两个js文件拷贝到library.zip里面的selenium/webdriver/remote 下面。 运行login.exe程序,就可以实现自动联网,目前实现的是每个一个小时自动联网一次。

其他更加方面的功能,由于时间关系还没有实现

ubuntu 简单安装方式:

  1. sudo apt-get install python-pip
  2. sudo pip install selenium
  3. sudo apt-get install phantomjs 亲测可行(这样安装phantomjs可能出现无法使用find_element类型的函数)

推荐使用如下方法安装phantomjs apt install nodejs-legacy # just an alias node/nodejs to make npm install work apt purge phantomjs # optionaly npm install -g phantomjs # most important part because apt installation failed for me (以上安装实现,于2018/6/12,在ubuntu 16.04 python2.7 下成功运行)

在ubuntu 16.04下,可能2)和3)中的selenium和phantomjs包无法正常安装,那么你需要按照下面几步手动安装,并修改login.py中的一个函数

  • 安装 selenium

https://pypi.python.org/pypi/selenium/

复制这个whl(selenium-3.6.0-py2.py3-none-any.whl (md5) Python Wheel 2.7 2017-09-25 902K)的链接,然后用下面的命令安装就可以了

sudo pip install https://pypi.python.org/packages/48/90/29bcfa7ced2836016a400e8216e5a4166a71923b05d452ee7ee9e8775156/selenium-3.6.0-py2.py3-none-any.whl#md5=11022f864bf7075841486a0b30e173a8
  • 安装phantomjs

官网下载可执行文件,现在把文件放到路径/usr/local/lib下,然后修改权限sudo chmod -R 777 /usr/local/phantomjs-2.1.1-linux-x86_64/,最后修改login.py,只需要修改一行即可,

#browser = webdriver.PhantomJS()
browser = webdriver.PhantomJS(executable_path='/usr/local/lib/phantomjs-2.1.1-linux-x86_64/bin/phantomjs')

Flag Counter

About

License:Apache License 2.0


Languages

Language:Python 100.0%