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