使用Selenium与Phantomjs模拟易班网站登录
一>开发准备
1.首先安装Selenium 与 Phantomjs
可以从 PyPI 网站下载 Selenium库/simple/selenium,也可以用 第三方管理器 pip用命令安装:pip install selenium
Selenium 官方参考文档:http://selenium-python.readthedocs.io/index.html
注意:PhantomJS 只能从它的官方网站/download.html下载。 因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。
PhantomJS 官方参考文档:/documentation
(本人是windows系统)
下载链接:/download.html
1.安装:
打开解压文件,找到.exe文件点击即可运行
2.配置环境:
注:最好将解压文件夹的名字改为:phantomjs
在环境变量里面path加上bin的路径
加上路径:
打开cmd,测试环境是否配置成功:
可以出现代表配置成功
二>具体代码
# _*_ coding:utf-8 _*_#模拟易班登陆#具体步骤:#1.打开易班登录界面/login?go=http%3A%2F%%2F#2.分析各个input输入详情#3.获取各个input位置,赋值#4.点击提交按钮#5.等待页面加载#6.生成快照#导入webdriverfrom selenium import webdriver# 要想调用键盘按键操作需要引入keys包from mon.keys import Keysimport timeclass LoginPage(object):def __init__(self):self.driver = webdriver.PhantomJS()def login(self):#获取页面self.driver.get("/login?go=http%3A%2F%%2F")#生成快照#self.driver.save_screenshot("page/yiban.png")#输入用户名位置id:account-txt#输入密码位置id:password-txt#点击登录图标位置id:login-btnself.driver.find_element_by_id("account-txt").send_keys(u"用户名")self.driver.find_element_by_id("password-txt").send_keys(u"密码")self.driver.find_element_by_id("login-btn").click()#设置等待时间,等待登录成功进入页面time.sleep(5)#生成快照self.driver.save_screenshot("page/yiban2.png")if __name__ == "__main__":t = LoginPage()t.login()
结果:生成快照