python自动化框架:pywinauto实现博客之星自动化评论

场景:
2021年度博客之星开始评选了,又是各路豪杰实践自身技术能力的时刻,平时都是写文章维护粉丝好友度,现在才是实打实的展现技术 😃 本分只是python框架的实践,不建议恶意推广,后果自负。

大部分玩家都采用爬虫的方式: 登录 -> 获取 cookie -> 设置cookie -> 调用评论api,再爬取其他博主的链接进行周而复始。

今天咱不讲爬虫,讲python的自动化测试框架pywinauto如何实现模拟手动操作(相同的还有pyAutoGui这个库),制造一个有血有肉的回复机器,爬虫的方式太暴力了,除了反爬外,还会给官方带来大量垃圾数据,作为一个友好型实践玩家,我们点到为止即可。

除了爬虫跟GUI库,chrome浏览器还可使用驱动的方式(chromedrive)不过这种方式也需要反爬,这里不做介绍了。

如何使用pywinauto

先附上官方文档

在我们的实践中,主要使用到了

import time
from pywinauto import keyboard
from pywinauto import mouse
from pywinauto import Application

keyboard用来模拟键盘输入以及滚动条
mouse用来模拟鼠标点击
application主要用来唤醒浏览器

先附上主要代码

import time
from pywinauto import keyboard
from pywinauto import mouse
from pywinauto import Application

def sendMsg(topicNum):
    print("topicNum"+str(topicNum))

    keyboard.send_keys('^T')
    time.sleep(3)

    keyboard.send_keys("https://bbs.csdn.net/topics/"+str(topicNum))
    keyboard.send_keys('{VK_RETURN}')
    time.sleep(10)


    keyboard.send_keys('{VK_SPACE}')
    time.sleep(3)

    mouse.click(coords=(1180, 1010))
    time.sleep(3)

    keyboard.send_keys('# d求个五星回评 ')
    keyboard.send_keys('{ENTER}')
    keyboard.send_keys("链接直达:[](https://bbs.csdn.net/topics/603958738)")
    keyboard.send_keys('{ENTER}')
    keyboard.send_keys("**私信自动源码**")
    keyboard.send_keys('^{ENTER}')
    time.sleep(3)

    mouse.click(coords=(1180, 200))
    fun(num+1)
    print("end ")

#使用后端方式打开浏览器
app = Application(backend="uia").start("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")

time.sleep(3)

#开发打开其他博主的链接
sendMsg(topicNum)

topicNum是其他博主的互动区id,这里建议先获取参与这次评选的用户列表,再次提示,我们只做有限的评论,不要随意爬取随意评论给官方制造麻烦,可以看到其他玩家用爬虫死命得到处评论还多次评论,说明其代码并没有做好控制&#x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值