首页 > 代码库 > python+PAMIE 实现自动登录
python+PAMIE 实现自动登录
想写个自动定会议室的程序。
1、会议系统登录后,存在session,提交会议室的订单通过httpwatch拼接后获得链接地址,直接访问链接及可以了
2、如果没有提前登录,就无法提交链接了。使用python+PAMIE实现了了自动登录的过程(登录的链接一直拼接不出来。。)
下面说说这个研究过程。。
1、一开始使用了python +mechanize 。想把页面的表单直接提交。
代码如下,按道理也是可以成功的。但是发现登录页面的form表单居然还嵌套了另外一个form表单,执行的时候会报错nested form(嵌套表单)的错误。
查找相关资料后,把_form.py的相关nested form的判断给注释掉,还需要把mechanize给重装一遍。才执行成功。
成功了但是一直没登录成功,应该mechanize也是通过提交表单的方法,拼接登录链接的吧。但是from1的action不是需要的action所以不成功。。
好吧。。换一种方法。。(各种啰嗦,可忽略,想用mechanize的同学可以看看下面的代码)
br = mechanize.Browser() cj = cookielib.LWPCookieJar() br.set_cookiejar(cj) br.set_debug_http(True) br.open(‘http://xxx/‘) br.select_form(name=‘form1‘)//选择表单,如果表单没有名字使用 nr=0,nr=1,n3=2,代表第一个、第二个、第三个 for f in br.forms: print f //不知道有哪些表单可以打印出来看看 br.form[‘username‘] = ‘xxx‘ br.form[‘password‘] = ‘***‘ br.click(name=‘submit‘)
主题来了:
使用PAMIE需要下面几步:
本处参考:http://www.cnblogs.com/txw1958/archive/2011/12/17/2291012.html
第一步:把下载到的PAM30压缩文件解压出的两个文件pam30.py、winguiauto.py拷贝到C:\Python30\Lib\site-packages这个目录.
第二步:去下载pywin32,因为PAMIE要用到Win32.com组件.这时候你去下载的pywin32要对应你的python版本.我这里是Python3.0故选择目前最新版本pywin32-214.win32-py3.0.exe进行下载然后安装
第三步:重启计算机
第四步:启动Python shell.输入from PAM30 import PAMIE【注意Python对大小写敏感】
完成上面四步.我这边已经可以成功import PMAIE了.不妨你试试看
下载可以在sourceforge搜搜:
http://sourceforge.net/projects/pywin32/files/pywin32/Build%20217/
对于代码如下:
ie = PAMIE() ie.navigate(‘http://xxxx/‘) ie.setTextBox(‘username‘,‘xxx‘) ie.setTextBox(‘password‘,‘xxx‘) ie.clickButton(‘Submit‘) ie.navigate(theMeetingUrl)//登录成功后,发起访问会议室订单的链接 ie.quit()//关闭IE
这样就行啦~~再设置个定时任务,每天就自动定会议室啦~