Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19732461
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: Python/Ruby

2010-07-08 14:18:11

在python中利用selenium实现提高的qq群的“参与值”,助推qq群快速升级!

2009年11月11日,QQ群等级正式推出,分为人气值、贡献值、参与值。其中人气值通过聊天就可以提高,贡献值主要通过上传文件可以提高,唯有参与制主要要通过回帖等方式来提高,比较难以提高。

qq群对一般的帖子都要输入字符串验证码,但是对“新人报到”的帖子没有这个要求,而且回帖产生的积分为 每日积分上限 20分,但是实际上可以达到40分(严重怀疑腾讯的测试水平,哈哈),为此可以简单的在python中利用selenium实现提高的qq群的“参与值”,助推qq群快速升级!步骤如下:

1,利用录制python脚本
录制好的脚本修改为如下:

#!/usr/bin/env python
# -*- coding: gbk -*-
#在python中利用selenium实现提高的qq群的“参与值”,助推qq群快速升级!
#gtalk: ouyangchongwu#gmail.com

from selenium import selenium
import unittest, time, re

class Untitled(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*iexplore", "")
        self.selenium.start()
    
    def test_untitled(self):
        sel = self.selenium
        sel.open("/air/#66250781/bbs/view/cd/8/td/19")
        for i in range(10):  
            sel.type("rePost", "welcome!")
            sel.click(u"//input[@value='回复']")
   
    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":

    unittest.main()

  2,启动selenium-server
  3,运行python脚本

  实际运行中要求你先登录群社区,当然这部分本身也可以集成到脚本中,在此不赘述。存在的问题有,在网速较慢的环境中,打开网页可能会超时,需要调整selenium的超时时间设置。另外也基本上没有做例外处理,腾讯的空间感觉稳定性还是很不好的。

  #!/usr/bin/env python
# -*- coding: gbk -*-
from selenium import selenium
import unittest, time, re

class Untitled(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*iexplore", "")
        self.selenium.start()
   
    def test_untitled(self):
        sel = self.selenium
        time.sleep(5)
        sel.open("/air/#6089740/bbs/view/cd/7/td/3")
        for i in range(40):  
            time.sleep(5)
            sel.type("rePost", "welcome!")
            sel.click(u"//input[@value='回复']")
   
    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":

    unittest.main()
阅读(29832) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~