记得之前跟我女票说过,说要帮她空间点赞,点到999就不点了。刚开始还能天天记得,但是后来事情一多,就难免会忘记,前两天点赞的时候忽然觉得这样好枯燥啊,正好也在学Python,就在想能不能有什么方法能自动点赞。

  以前学C借助win32API也干过操作其他应用程序的事,想想可行性还是挺高的,于是就去百度了一下。发现还真有类似的,说干就干,正好也是周末,那就直接熬夜“撸”起来吧。先上代码:

 def QQZan(qq):
browser = webdriver.Chrome()
browser.maximize_window()
browser.get('https://user.qzone.qq.com/{}/main'.format(qq))
browser.switch_to_frame('login_frame')
#通过使用选择器选择到表单元素进行模拟输入和点击按钮提交
browser.find_element_by_id('switcher_plogin').click()
browser.find_element_by_id('u').clear()
browser.find_element_by_id('u').send_keys('这里填你的QQ账号')
browser.find_element_by_id('p').clear()
browser.find_element_by_id('p').send_keys('这里填你的QQ密码')
browser.find_element_by_id('login_button').click()
time.sleep(3)
browser.find_element_by_xpath('//*[@id="like"]/a[1]').click()
browser.quit()

  这里定义了一个函数,输入QQ号码就可以直接登录ta的空间去点赞了。我这里是使用了Chrome浏览器去操作的,推荐大家使用Firefox。如果大家和我一样是使用Chrome,需要下载一个与你selenium对应版本的chromedriver.exe,需要下载的可以去CSDN里看看,一定要下载对应版本的。下载好之后将chromedriver.exe放到你Python的安装目录下面即可。

  代码很简单,打开Chrome浏览器,最大化窗口,输入想要访问的空间,输入账号和密码登录,点击点赞按钮点赞,然后关闭浏览器。要注意的是,我这里是精简版,没有加判断没有做异常处理,比如可能你打开网页了,但是有些东西没加载出来你就直接找到输入,肯定找不到,最后也就不会成功,一般可以等待几秒,或者判断是否已经加载成功(用动态等待)。定位的方式有很多,这里不多说了,网上讲的很清楚了,自己先打开浏览器,将鼠标移到相应的位置,比如输入框,点击右键,打开检查,如下图:

  

  通过这些基本可以定位,有些没有这些Attribute的,还可以通过Xpath等定位,操作如下:在之前检查找到的代码那里右键 ——>>  Copy ——>>  Copy Xpath(其他类似)

  完整代码如下:

 def QQZan(qq):
browser = webdriver.Chrome()
browser.maximize_window()
browser.get('https://user.qzone.qq.com/{}/main'.format(qq))
browser.switch_to_frame('login_frame')
#通过使用选择器选择到表单元素进行模拟输入和点击按钮提交
browser.find_element_by_id('switcher_plogin').click()
browser.find_element_by_id('u').clear()
browser.find_element_by_id('u').send_keys('这里填写你的QQ号码')
browser.find_element_by_id('p').clear()
browser.find_element_by_id('p').send_keys('这里填写你的QQ密码')
browser.find_element_by_id('login_button').click()
time.sleep(3)
browser.find_element_by_xpath('//*[@id="like"]/a[1]').click()
browser.quit()
QQZan('想要点赞的QQ号码')

用Python登录好友QQ空间点赞的更多相关文章

  1. 用python爬取QQ空间

    好久没写博文了,最近捣鼓了一下python,好像有点上瘾了,感觉python比js厉害好多,但是接触不久,只看了<[大家网]Python基础教程(第2版)[www.TopSage.com]> ...

  2. H5分享到微信好友朋友圈QQ好友QQ空间微博二维码

    这是分享按钮: <button onclick="call()">通用分享</button> <button onclick="call(' ...

  3. 每日技术总结:jquery datetimepicker,微博QQ好友QQ空间微信等分享接口

    前言: 1.jquery datetimepicker 今天遇到一个日期控件格式的问题,默认选中显示的并不是设定的值,而是当天的日期.于是去查了一遍文档. 参考文章:jquery datetimepi ...

  4. Python爬取qq空间说说

    #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re import importl ...

  5. QQ空间点赞代码

    jQuery("a.qz_like_btn_v3[data-clicklog='like']").each(function(index,item){ console.log(it ...

  6. Python案例之QQ空间自动登录程序实现

    不多说,直接上干货! 工具选择: 电脑系统:win7,32 位,下面第二部安装SetupTools时注意系统版本要求: Python: 2.7.11,  相信只要是2.7的就可以实现: Seleniu ...

  7. 翻翻git之---实现QQ空间点赞部分实现的自己定义控件 EasyLikeArea

    转载请注明出处:王亟亟的大牛之路 昨天在家里弄鱼的事没上班,也就没写东西.决定今天早上补一篇,正好看到了 Easy like area in the circle of friends or QQ q ...

  8. 手机QQ空间自动点赞登录

    学以致用~使用 Appium 模拟人类操控手机行为 V2.0在手机上运行,目前实现以下功能: 1.小黑屋模式,一分钟内给好友发100条消息然后进了好友的小黑屋 2.定时发消息提醒对象多喝热水~ 3.对 ...

  9. 使用Python+Selenium模拟登录QQ空间

    使用Python+Selenium模拟登录QQ空间爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleniu ...

随机推荐

  1. java并发:Synchronized 原理

    1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor).当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取moni ...

  2. ajax就收data的参数

    一,变量 "data": ${cityData},//数据(必传) 二,json data:{"state":"Front"},

  3. How I explained OOD to my wife(转)

    How I explained OOD to my wife Learning Object Oriented Design principles through interesting conver ...

  4. Python爬虫之模拟登录微信wechat

    不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一起.既然它这么重要,如果我们可以利用爬虫模拟登录,是不是就意味着我们可以获取这些信息 ...

  5. 对于Hibernate和MyBatis的区别与利弊,谈谈你的看法

    Hibernate与MyBatis的对比: 1.MyBatis非常简单易学,与Hibernate相对复杂,门槛较高: 2.两者都是比较优秀的开源产品: 3.当系统属于二次开发,无法对于数据库结构做到控 ...

  6. 【Luogu3398】仓鼠找sugar(树链剖分)

    [Luogu3398]仓鼠找sugar(树链剖分) 题面 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他 ...

  7. 【Chrome控制台】获取元素上绑定的事件信息以及监控事件

    需求场景 在前端开发中,偶尔需要验证下某个元素上到底绑定了哪些事件,以及监控某个元素上的事件触发情况. 解决方案 普通操作 之前面对这种情况,一般采取的措施就是在各个事件里写console.info, ...

  8. 解决Android Studio 3.0导入module依赖后unable to merge index

    解决Android Studio 3.0导入module依赖后unable to merge index 项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错una ...

  9. 记录一个前端bug的解决过程

    人在江湖飘,哪能不挨刀. 我挨了重重一bug.严格来讲这可能是我职业生涯以来的首个悲惨经历,因为凭我的知识储备和经验,基本上任何可重现的bug都是可解的.然而这个bug却困扰了我三个月之久,它具有以下 ...

  10. kerberos下JAVA代码操作hbase的方式(客户端方式,应用程序方式)

    (一)如果部署JAVA 代码的主机用户获取了kerberos权限情况下 假设主机名是:client su - client 登录主机后 kinit -kt /keytab的路径/client.keyt ...