自动化登录QQ脚本
1、准备第三方包:
py -3.6 -m pip install win32gui
py -3.6 -m pip install Pywin32
py -3.6 -m pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl (这个文件是在https://www.lfd.uci.edu/~gohlke/pythonlibs/#genshi 下可找到)请使用这种方式安装,就不用去安装那些依赖环境了,比较方便
注意安装时,如果遇到

是因为版本有问题

py -3.6 -m pip install PyUserInput
按照以上的顺序进行安装
2、代码
# encodding = utf-8
import os
import time
import win32gui
import win32api
import win32con
from pykeyboard import PyKeyboard
from ctypes import * def QQ(qq, pwd):
# 运行QQ
os.system('"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"') # 注意这里的写法,当路径有空格的时候,system会默认为多个参数,所以要用双引号,代表这个路径仅仅代表一个参数
time.sleep(3)
# 获取QQ的窗口句柄
# 参数1是类名,参数2是QQ软件的标题
a = win32gui.FindWindow(None, "QQ")
# 获取QQ登录窗口的位置
loginid = win32gui.GetWindowPlacement(a)
# 定义一个键盘对象
k = PyKeyboard()
# 把鼠标放置到登陆框的输入处
print(loginid[4][0]) # 这是窗口的横坐标 712
print(loginid[4][1]) # 这是窗口的纵坐标 305 windll.user32.SetCursorPos(loginid[4][0] + 238, loginid[4][1] + 247) # 让鼠标能找到登录的输入框,这是相当坐标,
# windll.user32.SetCursorPos(950, 552) # 这个方法是写死的,这是实际的坐标:950 = 712+238(横) 552 = 305+247(纵) # 按下鼠标再释放
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) # press mouse
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) # release mouse
time.sleep(2)
# 输入用户名
k.type_string(qq)
time.sleep(0.2)
# 按下tab,切换到输入密码的地方
win32api.keybd_event(9, 0, 0, 0)
win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
# 输入密码
k.type_string(pwd) # 按下回车
win32api.keybd_event(13, 0, 0, 0)
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0) if __name__ == "__main__":
QQ('xxxxxx', 'xxxxxxx')
3、获取当前鼠标的坐标
首先需要安装:py -3.6 -m pip install Pyautogui
然后写一个脚本,代码如下
import os,time
import pyautogui as pag
try:
while True:
print("Press Ctrl-C to end")
x,y = pag.position() # 返回鼠标的坐标
posStr="Position:"+str(x).rjust(4)+','+str(y).rjust(4)
print (posStr) # 打印坐标
time.sleep(0.2)
os.system('cls') # 清楚屏幕
except KeyboardInterrupt:
print('end....')
最后开启服务,就可以实时获取当前鼠标的坐标了
通过这个就可以找到登录QQ的输入框,上边的950(横坐标) 552(纵坐标)也就是这样来的,通过计算既可以获得相对坐标 238,247
自动化登录QQ脚本的更多相关文章
- selenium自动化登录qq网页
一个简单的登录网页上qq的脚本,通过此脚本了解到有些位置是无法通过xpath来定位的反倒是By定位更方便 #encoding=utf-8 from selenium import webdriver ...
- Python+ Selenium自动化登录腾讯QQ邮箱实例
学习了Python语言一段时间后,在公司的项目里也使用到了python来写测试脚本,一些重复的操作都使用脚本来处理了.大大的提高工作效率,减少了一些手工重复的操作. 以下是使用unittest框架写的 ...
- Badboy运行脚本 - 登录QQ邮箱,编写及发送邮件
参考: http://leafwf.blog.51cto.com/872759/1112128 http://www.51testing.com/html/00/130600-1367743.html ...
- 速成KeePass全局自动填表登录QQ与迅雷(包括中文输入法状态时用中文用户名一键登录)
原文:http://bbs.kafan.cn/thread-1637531-1-1.html 使用目的:1 网页和本地客户端登录一站式解决2 通过KeePss修改密码和登录更方便,可以复制粘贴,省了输 ...
- Python测试开发-浅谈如何自动化生成测试脚本
Python测试开发-浅谈如何自动化生成测试脚本 原创: fin 测试开发社区 前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录, ...
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- Splinter学习--初探3,两种方式登录QQ邮箱
目前,qq邮箱的登录方式有: 1.利用账号.密码登录 2.快捷登录,前提是你本地已有qq账号登录中 和前面一样,还是先到qq邮箱登录首页,审查页面元素,找到我们进行登录操作所相关的链接.按钮或是输入框 ...
- 电脑不能浏览网页but能登录qq,解决方案总结
电脑能登录qq,但是不能浏览网页,解决方法总结 [注]:仅供参考,属个人经验 今天早晨起来,电脑突然只能登录qq,不能上网了,从来没有遇到这种问题的我开始各种百度方法,各种尝试,最终成功解决了问题 首 ...
- 一步一步来做WebQQ机器人-(三)(登录QQ并保持在线)
× 本篇的目的是让你的QQ真正的上线:挤下你的PCQQ,和让好友状态栏显示webqq在线 目前总进度大概50% 全系列预计会有这些步骤,当然某些步骤可能会合并: 验证码 第一次登陆 第二次登陆 保持在 ...
随机推荐
- EL表达式的11隐含对象
EL表达式在不同范围如何取值: <% pageContext.setAttribute("book", "红楼梦"); request.setAttrib ...
- Oracle 即时客户点下载以及简单连接数据库的方法
1. 下载方法 百度 oracle client 第一个即可 2. 下载地址为: https://www.oracle.com/database/technologies/instant-client ...
- Shell初学(六)Linux Shell 时间运算以及时间差计算方法
Linux Shell 时间运算以及时间差计算方法 时间的加减,以及时间差的计算. 1. 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒. 如:1990-01 ...
- 算法 - k-means++
Kmeans++算法 Kmeans++算法,主要可以解决初始中心的选择问题,不可解决k的个数问题. Kmeans++主要思想是选择的初始聚类中心要尽量的远. 做法: 1. 在输入的数据点中随机选 ...
- robot-framework 利用evaluate关键字生成随机数
robot-framework 利用evaluate关键字生成随机数 最近用RF(robot-framework简称)操作MangoDB,需要直接将数据写到数据库里,又不想每次写的数据完全相同,就想到 ...
- CF949E Binary Cards 题解
题面 首先发现:一个数最多会出现1次: 然后深入推出:一个数不会既用它又用它的相反数: 这样就可以依次考虑每一位了: 如果所有的数都不含有这一位,那么就直接把所有的数除以2 如果含有,那么就减去这一位 ...
- shell脚本 自启动tomcat,nginx
分为2步走 1. 脚本文件 : /usr/local 2. crontab -e : /5 * * * /bin/sh /usr/local/restart.sh 注意事项:可能用户权限会影响脚本的部 ...
- 14、PCA分析
做芯片PCA主成分分析可以选择使用affycoretools包的plotPCA方法,以样品"GSM363445_LNTT.CEL"."GSM362948_LTT.CEL& ...
- 基于IdentityServer4的声明的授权
## 概述 基于Asp.net Core 1.1 ,使用IdentityServer4认证与授权. ## 参考资料 [微软教程](https://docs.microsoft.com/zh-cn/as ...
- oa_mvc_easyui_项目搭建及登录页面验证码(1)
1.空项目的搭建,三层的搭建(各层之中的引用) webapp:bll,model,common bll:dal,model dal:model 2.SQL表 ItcastDb:T_UserInfo,T ...