您的位置:首页 > 编程语言 > Python开发

Pamie模块详解 python操作ie浏览器

2010-05-26 21:26 961 查看
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','yingguang08@gmail.com')
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>(.*?)</A>''',cc)

for click in cc:
print click
ie.linkClick(click)
time.sleep(40)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息