记得之前跟我女票说过,说要帮她空间点赞,点到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. CentOS中对ext4文件系统做磁盘配额

    1.修改/etc/fstab文件,使ext4文件系统支持磁盘配额. UUID="9e6dc1e8-4fc1-4984-be38-524573572d41" /mnt/ext ext ...

  2. vue的ajax请求之axios

    axios.get(this.apiUrl+'good/info',{params:{'goodsid':'sp441153'}}) .then(function(response){ console ...

  3. 三十天学不会TCP,UDP/IP网络编程 - 绅士的开始

    经过了过年的忙碌和年初的懈怠一切的日子,我又开始重新更新了~这是最新的一篇~完整版可以去gitbook(https://www.gitbook.com/@rogerzhu/)看到. 如果对和程序员有关 ...

  4. Trouble HDU - 4334

    Hassan is in trouble. His mathematics teacher has given him a very difficult problem called 5-sum. P ...

  5. SQLiteOpenHelper与SQLiteDatabase的使用

    1. 数据类型 与其它数据库不同,SQLite的数据类型很简单,只有NULL(空类型).INTEGER(整型).REAL(浮点型).TEXT(字符串型).BLOB(二进制型). SQLite为动态数据 ...

  6. mybatis快速入门(四)

    mybatis动态标签<where><if><foreach>以及sql片段 1.创建一个包装类UserQueryVo.java package cn.my.myb ...

  7. 【CJOJ1090】【洛谷1967】【NOIP2013】货车运输

    题面 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆 ...

  8. java 动态代理 , 多看看。 多用用。

    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.lang.reflect ...

  9. react-native导航器 react navigation 介绍

    开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...

  10. CSS备战春招の二

    CSS:层叠样式表 CSS注释形式:/*  */ class 选择器有别于id选择器,class可以在多个元素中使用 id属性不要以数字开头,以数字开头在特定浏览器中不起作用 类名的第一个字符不要使用 ...