一段新手学习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
阿德马原创文章,转载请注明出处!
- 本文固定链接: http://www.nxadmin.com/system/other/1195.html
- 转载请注明: admin 于 阿德马Web安全 发表