自动化登录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% 全系列预计会有这些步骤,当然某些步骤可能会合并: 验证码 第一次登陆 第二次登陆 保持在 ...
随机推荐
- Redhat7 安装 yum(换成免费版) 安装gcc
最近上Linux系统基础课程,要在虚拟机上编译运行程序,这时候就需要安装gcc,网上一搜,各种什么在线,离线安装,其中在线安装很方面,一个命令 yum install gcc 即可解决 可我这么输入后 ...
- [转帖]处理器结构--PipeLine&SuperScalar
处理器结构--PipeLine&SuperScalar https://www.jianshu.com/p/36c80a15a226 0.1 2018.06.12 16:12* 字数 148 ...
- Spread.NET 表格控件 V12.0 Update2 发布更新
Spread.NET表格控件V12.0 Update 2 已经正式发布,本次发布主要针对WinForm平台下客户反馈的产品使用功能进行优化,并修复了已知问题,具体修复情况见下方说明. Spread.N ...
- Python学习【day05】- Python文件处理
一.打开文件 对文件的操作主要为三步:1.打开文件,得到文件句柄.2.通过句柄对文件进行操作.3.关闭文件 # 默认打开模式为r,encoding默认为系统文件编码 f=open('F:/Go.txt ...
- POJ - 2112 Optimal Milking (dijkstra + 二分 + 最大流Dinic)
(点击此处查看原题) 题目分析 题意:在一个农场中有k台挤奶器和c只奶牛,每个挤奶器最多只能为m只奶牛挤奶,每个挤奶器和奶牛都视为一个点,将编号1~k记为挤奶器的位置,编号k+1~k+c记为奶牛的位置 ...
- 2019年8月23日 星期五(workerman和swoole的区别)
两个框架我都有用过,workerman用得更多些,这2个框架都很出名,它们的出现大大的提高了php的应用范围及知名度 workerman和swoole都是php socket 服务器框架,都支持长连接 ...
- Codeforces 1203F2. Complete the Projects (hard version)
传送门 首先对于 $b>0$ 的工作显然有个贪心,把 $b>0$ 的按 $a$ 从小到大排序 把能做的都做了,然后得到一个最大等级 剩下就是考虑 $b<0$ 的工作了,看到数据显然可 ...
- Git复习(一)之简介、安装、集中式和分布式
简介 Git是分布式版本控制系统,使用C语言开发的,CVS.SVN是集中式的版本控制系统,集中式的版本控制系统不但速度慢,而且必须联网才能使用. Git是分布式版本控制系统,同一个Git仓库,可以 分 ...
- luogu P2154 [SDOI2009]虔诚的墓主人
luogu 下面记一个点上下左右点数分别为\(u_i,d_i,l_i,r_i\) 枚举每个中间点太慢了,考虑枚举两个点之间横的一条线段,这里面的点左边点数目都相同,右边点数目都相同,然后只要查一下区间 ...
- MySQL 主从同步架构中你不知道的“坑”(2)
指定同步库情况 1.binlog_format= ROW模式 mysql> use testdb; Database changed mysql> show tables; +----- ...