py大法好,让你解放双手。

脚本环境

python环境,selenium库,Chrome  webdriver驱动等。

源码

# coding=utf-8
import datetime
import logging
import os
import time
import tracebackfrom selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options# 日志
def get_logger(name):log = logging.getLogger(name)log.setLevel(logging.DEBUG)# Standard output handlersh = logging.StreamHandler()sh.setLevel(logging.DEBUG)sh.setFormatter(logging.Formatter('%(levelname)s - %(name)s:%(lineno)s: %(message)s'))log.addHandler(sh)return log
logger = get_logger(__file__)def work(browser):qq=12345678browser.get('https://user.qzone.qq.com/{}/main'.format(qq))browser.switch_to.frame('login_frame')time.sleep(2)try:browser.find_element_by_id('switcher_plogin').click()browser.find_element_by_id('u').clear()#你的qq账号browser.find_element_by_id('u').send_keys('你的qq账号')browser.find_element_by_id('p').clear()#你的qq密码browser.find_element_by_id('p').send_keys('你的账号密码')browser.find_element_by_id('login_button').click()time.sleep(2)#打开留言板writeLog()while(True):browser.get('https://user.qzone.qq.com/{}/334'.format(qq))browser.switch_to.frame('tgb')#点击批量管理time.sleep(2)mouse = browser.find_element_by_id('btnToSet')ActionChains(browser).move_to_element(mouse).perform()time.sleep(1)browser.find_element_by_id('btnBatch').click()browser.find_element_by_id('chkSelectAll').click()browser.find_element_by_id('btnDeleteBatchBottom').click()time.sleep(1)browser.switch_to.parent_frame()time.sleep(2)browser.find_element_by_id('dialog_main_1').find_element_by_class_name('qz_dialog_layer_op').find_element_by_class_name('qz_dialog_layer_sub').click()time.sleep(2)except:print("failure2")print(traceback.format_exc())writeLog()# 写错误日志并截图
def writeLog():# 组合日志文件名(当前文件名+当前时间).比如:case_login_success_20150817192533basename = os.path.splitext(os.path.basename(__file__))[0]logFile = "log/"+basename + "-" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + ".log"logging.basicConfig(filename=logFile)s = traceback.format_exc()logging.error(s)browser.get_screenshot_as_file("./" + logFile + "-screenshot_error.png")if __name__ == "__main__":chrome_options = Options()#chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')chrome_options.add_argument('--no-sandbox')browser = webdriver.Chrome(options=chrome_options)  # Chrome界面# browser = webdriver.PhantomJS()  # 无界面work(browser)browser.quit()

转载于:https://www.cnblogs.com/huanghuizhou/p/10790942.html

python基于selenium实现自动删除qq空间留言板相关推荐

  1. web前端学习--仿QQ空间留言板功能

    主要技术要点: css:利用position属性和margin属性实现基本布局. jq/js:留言板功能使用prepend实现最新的留言在顶部显示. 其中易出错的地方已经在源代码中有注释了,欢迎大家批 ...

  2. html QQ空间留言版,qq空间留言板寄语句子

    qq空间留言板寄语句子 qq空间写你的留言寄语,陈述自己的内心.以下是由小编整理关于qq空间留言板寄语,希望大家喜欢! qq空间留言板寄语(一) 如果沵是刘易阳,那么俄就是童佳倩. 为什么相爱却不能相 ...

  3. 在好友QQ空间留言板上留图片

    若您需要在好友空间留言板上发表图片,是需要您去设置个性签名的.自空间留言板改版后,已不再支持将图片直接放到空间留言中,只能将图片设置为个性签名,之后再进入好友空间留言.(注:签名更改后,之前留言过的留 ...

  4. Python学习笔记(二):利用Selenium一键自动登录QQ空间、百度等网站

    曾经在学校闲的时候,见到有人通过程序自动登录百度等网站,觉得很厉害.实习的时候,偶然的机会也研究了一下,有空的时候试试运行就自动点赞,觉得还比较有意思,可以用来装装X,哈哈. 一.python环境 第 ...

  5. qq空间留言板删除 php,PHP实现QQ空间自动回复说说的方法

    本文实例讲述了PHP实现QQ空间自动回复说说的方法.分享给大家供大家参考,具体如下: header("Content-type: text/html; charset=utf-8" ...

  6. php+mysql留言板(模仿qq空间留言板)

    这是一个模仿QQ空间里面的留言板,所写的一个简单留言板.运用的知识有PHP,mysql,还有一些简单的编程思想,这个里面没有管理员的功能.希望和大家一起交流一下. 首先建立一个Message的文件,里 ...

  7. qq空间留言板删除 php,qq空间批量删除留言说说工具 发扬红军传统,锻造精锐师...

    1.好朋友就像天上的星星.你可能不会经常看到他们,但你知道他们会一直在那里. 2.当我与上帝接触时,甜蜜一定是苦涩的. 3.如果生命是上帝给我的最好的礼物,那么没有你的生活将是上帝在我的使命中给我的最 ...

  8. qq空间留言板php,留言板留言大全爱情 qq空间留言板大全

    1.我的心在天堂和人间,因为有你的微笑:令人陶醉的眼睛:天上的声音:一个移动的图:就像光明精灵在清晨柔和的阳光下唱歌跳舞. 2.拿什么来爱你?你不经意的一笑,灿烂了我整个冬天:你转身,我已泪流,季节开 ...

  9. python+selenium自动登录qq空间并下载相册

    基于selenium的自动登录qq空间并遍历所有相册及相片的功能.只能访问自己或好友(有访问权限)的相册,好友有密码的相册不可能...这里只是介绍流程,所以只是实现了遍历,并未实现图片文件的下载保存. ...

最新文章

  1. 多线程编程 java_java多线程编程
  2. 李飞飞:让机器有分辨事物的“眼睛”
  3. 素数定理π(n)~n/lnn弱化版证明
  4. 问题解决:错误:unable to connect to node rabbit@localhost: nodedown
  5. PC寄存器为什么会被设定为线程私有
  6. GitLab 安装配置指南
  7. 早上起床后喝的第一杯水不要喝太多
  8. OpenCV图像拼接之Stitching和Stitching_detailed
  9. iptables详解和snat dnat
  10. Javascript、jQuery 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)(转)...
  11. 使用DX查看系统配置
  12. 基于Android图书馆借阅系统app毕业设计
  13. Spring Data -Specification用法和常用查询方法(in,join,equal等)
  14. [转]myip.cn-电影格式转换器www.sifangvideo.com
  15. HDU5510 Bazinga(KMP)
  16. Android Wifi P2P 入门
  17. 情殇之《秋窗风雨夕》
  18. 「音频党」你,还记得手抄歌词的年少时光吗?
  19. android 手机系统占用存储,5分钟读懂手机系统文件清理,64G内存也能当作256G使用...
  20. Xshell不小心按到ctrl+s造成页面锁定的解决办法

热门文章

  1. 阶乘函数后K个零,详解
  2. 数据库的各种连接方式
  3. Vue 历史记录的本地存储 清空历史记录
  4. ArcGIS二次开发基础教程:开发环境配置教程(ArcEngine10.4+VS2019)
  5. 《仙剑奇侠传四》精美COSPLAY图片
  6. LeetCode刷题:741. Cherry Pickup —摘樱桃 动态规划
  7. MySQL数据库——day26 数据库安装,卸载,概念,msq的介绍,安装,连接,DDL,DML,DQL模糊查询,字段控制(别名和运算),排序,聚合函数,分组查询(where和having),分页查询
  8. 《少林达摩易筋经》惊现淘宝网!
  9. matlab单目相机标定步骤,matlab相机标定
  10. Vue实现自定义音频播放器组件