博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基于selenium实现自动删除qq空间留言板
阅读量:4313 次
发布时间:2019-06-06

本文共 2877 字,大约阅读时间需要 9 分钟。

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

脚本环境

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

源码

# coding=utf-8import datetimeimport loggingimport osimport timeimport tracebackfrom selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.chrome.options import Options# 日志def get_logger(name):    log = logging.getLogger(name)    log.setLevel(logging.DEBUG)    # Standard output handler    sh = logging.StreamHandler()    sh.setLevel(logging.DEBUG)    sh.setFormatter(logging.Formatter('%(levelname)s - %(name)s:%(lineno)s: %(message)s'))    log.addHandler(sh)    return loglogger = get_logger(__file__)def work(browser):    qq=12345678    browser.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_20150817192533    basename = 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

你可能感兴趣的文章
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
注册用户
查看>>
TZC Intercommunication System
查看>>
HDU 4571 SPFA+DP
查看>>
centos 创建以日期为名的文件夹
查看>>
Java Timer触发定时器
查看>>
Page Object设计模式
查看>>
程序的基础知识
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
python爬虫---从零开始(五)pyQuery库
查看>>
POJ2236(KB5-A)
查看>>
Centos MySQL数据库迁移详细步骤
查看>>
2初出茅庐--初级篇2.1
查看>>
新建 WinCE7.0 下的 Silverlight 工程
查看>>
腾讯的张小龙是一个怎样的人?
查看>>
jxl写入excel实现数据导出功能
查看>>