首页 > 系统加固 > Other > Python实现自动登录网站
2013
08-16

Python实现自动登录网站

一段新手学习python的小程序,在圣哥指点下完成,主要功能是实现自动登录基调网络,并且完成打开WWW页面全屏显示的功能。
主要用到了Python Pamie模块,安装该模块需要先安装win32api模块,下面贴上具体的代码:

'''
Created on 2013-8-15

@author: Nx4dm1n
'''
#-*- coding:utf-8 -*-
import cPAMIE
import time
import win32api
import win32con
import sys
import os

reload(sys)
setdefaultencoding('utf-8')
#结束IE进程
os.system('taskkill /im iexplore.exe')
time.sleep(3)

ie=cPAMIE.PAMIE()
#在浏览器打开URL
ie.navigate('http://passport.networkbench.com/passport/login?service=http%3A%2F%2Frpc.networkbench.com%2Frpc%2Fj_acegi_cas_security_check.do%3Flang%3D%23%7Blang%7D%26tz%3D%23%7Btz%7D')
time.sleep(3)
ie.textBoxSet("username","这里是用户名")
ie.textBoxSet("password","这里是密码")

#登录
elements = ie.elementsGetList("a","tabindex=4" )
ie.elementClick(elements[0]) 

#读取页面中name为key、absoluteTimefrom、absoluteTimeTO的value值
key1=ie.textBoxGetValue("key","value")
fromtime=ie.textBoxGetValue("absoluteTimeFrom","value")
totime=ie.textBoxGetValue("absoluteTimeTo","value")

wwwurl="http://rpc.networkbench.com/rpc/measure.do?formAction=graph&key="+key1+"&taskId=323867&graphType=&hideExpiredTasks=true&combineTasks=false&combinedTaskName=&cbTaskIdtxt=www%E9%A1%B5%E9%9D%A2&timeRangeMode=Relative&relativeTimeRange=1440&absoluteTimeFrom="+fromtime+"&absoluteTimeTo="+totime
ie.navigate(wwwurl)
time.sleep(3)
elements2=ie.elementsGetList("A","href=javascript:void(0)" )
ie.elementClick(elements2[1])
allwwwurl="http://rpc.networkbench.com/rpc/perfByProvince.do?formAction=detail&graphType=perfByProvince&key="+key1+"&taskId=323867&mapName=www%E9%A1%B5%E9%9D%A2&noinc=yes"
ie.navigate(allwwwurl)
time.sleep(2)

#模拟按键操作,F11浏览器全屏
#按F11
win32api.keybd_event(122,0,0,0)
#释放按键
win32api.keybd_event(122,0,win32con.KEYEVENTF_KEYUP,0)

实现功能的过程很曲折,基调网络的页面写的不是很规范,导致该pamie模块很简单就可以实现的功能需要复杂操作才可以实现。比如“登录”按钮居然不是典型的Button,而是一个超链接。

win32api模块下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/

有32位和64位的,根据安装的python版本选择合适的win32api版本.

Pamie模块下载地址:http://pan.baidu.com/share/link?shareid=188708492&uk=151188805

解压之后将pamie20这个目录移动到python安装目录下的lib目录中就可以了.pamie20目录中有该模块的帮助html文档。

模拟按键操作需要用到对应键的键位码,F11的键位码是122,下面再附上其它的键位码表:

附个键位码表:
字母和数字键     数字小键盘的键       功能键         其它键 
      键   键码     键   键码       键   键码     键      键码 
      A   65       0   96        F1   112     Backspace    8 
      B   66       1   97        F2   113     Tab       9 
      C   67       2   98        F3   114     Clear      12 
      D   68       3   99        F4   115     Enter      13 
      E   69       4   100       F5   116     Shift      16 
      F   70       5   101       F6   117     Control     17 
      G   71       6   102       F7   118      Alt       18 
      H   72       7   103       F8   119     Caps Lock    20 
      I   73       8   104       F9   120     Esc       27 
      J   74       9   105       F10  121     Spacebar    32 
      K   75       *   106       F11  122     Page Up     33 
      L   76       +   107       F12  123     Page Down    34 
      M   77       Enter 108       --   --      End       35 
      N   78       -   109       --   --       Home      36 
      O   79       .   110       --   --      Left Arrow   37 
      P   80       /   111       --   --      Up Arrow    38 
      Q   81       --   --       --   --      Right Arrow   39 
      R   82       --   --       --   --      Down Arrow    40 
      S   83       --   --       --   --      Insert      45 
      T   84       --   --       --   --      Delete      46 
      U   85       --   --       --   --      Help       47 
      V   86       --   --       --   --      Num Lock     144 
      W   87          
      X   88      
      Y   89      
      Z   90      
      0   48      
      1   49      
      2   50       
      3   51       
      4   52       
      5   53       
      6   54       
      7   55       
      8   56 
      9   57

阿德马原创文章,转载请注明出处!

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

Python实现自动登录网站》有 5 条评论

  1. 不要恶意卖萌 说:

    卖萌不好

  2. deyu260 说:

    博主是运维吧 还是基调的人?

  3. admin 说:

    呵呵,都不是,是帮运维童鞋写的小程序!

  4. aver 说:

    小菜膜拜大牛,低调撸过~~以后或许会转载大牛的博文~望大牛同意。 请不要涩工我~~

  5. admin 说:

    哈哈 互相学习思密达!

留下一个回复

你的email不会被公开。