from http://blog.alexa-pro.cn/?p=315
此文档使用平台为 cPAMIE Build 2.0,和之前的版本有明显的差别,具体可直接看cPAMIE.py 源码
下面是一些常用的方法
ie.navigate('http://blog.alexa.cn') 用来访问一个链接。
ie.linkClick('linkname') 打开这个页面中的一个连接 参数: name或 id
ie.textBoxSet('labels','python') 设置一个文本域的值。第一个参数为文本域的名称,第二个参数为要输入的值,
ie.buttonClick('btnA') 用来模拟点击按钮 参数是按钮的名字
ie.findText(unicode("登录", "cp936")) 查找文本 如:
if (True == ie.findText(unicode("非法登录", "cp936"))):
print "非法登录!"
else:
print "登录成功!"
ie.quit() -- 关闭打开的ie
ie.goBack() -- 后退
ie.refresh() -- 刷新
ie.buttonGetValue('wp-submit','value') 得到一个无素的其它值,第一个参数为你知道的元素属性如:id, name, value 等,第二个参数为你要得到的这个元素的其它值,这样如果你知道name,就可得到id,value等,如果知道name就可知道id,value.....
ie.buttonClick('down') 这个方法的参数可以是name,ID,VALUE等,注:NAME和VALUE为中文时记着转码如:unicode("断线", "cp936")
ie.elementsGetList(tag, [filter], ) 返回一个过滤后的元素列表
符几个例子:
这个是将文章提交给GOOGLE收藏夹的脚本,用法 postgoogle.py http://blog.alexa-pro.cn/index.php
import cPAMIE,re,string,time,sys ie= cPAMIE.PAMIE() args = sys.argv ie.navigate(args[1]) Title=ie.locationName().strip() Title=Title.replace('GGclub','').replace(' Blog Archive ','') ie.navigate('https://www.google.com/accounts/Logout?continue=http://www.google.com/intl/zh-CN/&hl=zh-CN') ie.navigate('https://www.google.com/accounts/ServiceLogin?hl=zh- CN&continue=http://www.google.com/bookmarks/mark%3Fop%3Dadd%26bkmk%3Dhttp%253A%252F%252Fblog.alexa-pro.cn%252F% 26title%3DGGclub&nui=1&service=bookmarks') ie.textBoxSet('Email','[email protected]') ie.textBoxSet('Passwd','*******') ie.buttonClick('signIn') ie.textBoxSet('title',Title) ie.textBoxSet('bkmk',args[1]) ie.textBoxSet('labels','python') ie.textBoxSet('annotation','python linux') ie.buttonClick('btnA')
解释:
先执行退出操作,以免现在是登陆状态 而报错
ie.navigate('https://www.google.com/accounts/Logout?continue=http://www.google.com/intl/zh-CN/&hl=zh-CN')
下面是一个为做网赚的朋友做的小脚本,实现了
在登陆状态下http://www4.bux.to , 列出要点击的连接,进行点击操作,每个点击后持续40秒后再点下一个
import cPAMIE,re,time ie= cPAMIE.PAMIE() Url='http://www4.bux.to/surf.php' ie.navigate(Url) cc=ie.outerHTML() cc = re.findall('''target=_blank>(.*?)''',cc) for click in cc: print click ie.linkClick(click) time.sleep(40)