Python PAMIE示例
转自:http://blog.chinaunix.net/u3/103146/showart_2058891.html
Python这种脚本语言的强大功能越来越被广大的程序员所重视,这种之前在国内流行度不高的语言近来气势高涨。各种第三方模块层出不穷。
本文介绍的便是一种能非常方便操作IE的第三方工具,PAMIE,他能让你如同写JS一样来操作IE浏览器。包括自动启动,访问链接,设置文本框值,获取按钮,执行点击事件,甚至执行页面JS方法等等。下面用一个实际的例子详加说明:
以下简短代码便轻易实现,登录本人ChinaUnix,并以此点击日志文章,发文章,设置标题,分类,和博客内容,最后执行确定,发布成功。
# -*- coding: gb2312 -*-
from PAM30 import PAMIE
from string import split
#===============================================================================
# 从文件读取配置信息,登录url,账户,密码等
#===============================================================================
def getCfgfromFile(fileName='settings.txt'):
file = open(fileName)
dict = {}
line = file.readline()
while line != '':
args = split(line, '=')
dict[args[0]] = args[1].decode('utf-8').encode('gb2312')
line = file.readline()
return dict
dict = getCfgfromFile()
ie = PAMIE()
#===============================================================================
# 打开登录页面,设置用户/密码
#===============================================================================
ie.navigate(dict['login-url'])
ie.setTextBox('username', dict['username'])
ie.setTextBox('password', dict['password'])
#===============================================================================
# 获取登录按钮
#===============================================================================
loginbtn = ie.findElement('input', 'type', 'image')
ie.clickElement(loginbtn)
#===============================
相关文档:
>>> a = {'1':'2'}
>>> b = {'3':'4'}
>>> a+b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
>>> a.update(b)
>>> a
{'1': '2', '3': '4'} ......
(偶尔看到,怕忘了)
仿用户打开浏览器然后点击等行为然后获取结果,以下是我使用过的方法只是依赖与ie不过firefox等应该也有相应的调用方法:
思路就是调用ie的com组件然后就是对dom的操作跟用javascript操作dom类似,示范代码如下
#天涯登陆地址
tianyalogin = "http://www.tianya.cn/"
tianya_user = "xxxxx"
......
之前学习第九章的排序小结的时候,对sort()排序方法不理解,因为括号里面带了自定义的比较函数。
后来查手册,才发现sort()里面本来就带了这样的参数。能够自定义比较方法,确实很灵活。
不仅如此,在网上查到一个博客,作者不单停留在这表面,还查究了sort()的排序算法,确实有意思。
全文抄录如下:
http://blog.done ......
php版:
<?php
$cookie_file = fopen('cookie.txt','w');//dirname(__FILE__)."/cookie_".md5(basename(__FILE__)).".txt"; // 设置Cookie文件保存路径及文件名
function vlogin($url,$data){ // 模拟登录获取Cookie函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($cur ......
Ctrl+3 行注释
Ctr+\ 去行注释
Ctrl+Shift+3 去行注释
Ctrl+4 块注释
Ctrl+5 & ......