[toc]

环境准备

Python编译环境 --anaconda安装,一种Python IDE集成环境

selenium --web 的自动化测试工具,第三方类包

webdriver --浏览器webdriver,模拟打开浏览器使用

有了以上三种环境,就可以使用Python+selenium+webdriver实现网页自动登陆,签到,退出等操作。

组件安装

Python 编译环境

通过anaconda官方地址,下载所需的版本,部署过程比较简单,在此不做过多介绍,可参考Anaconda介绍、安装及使用教程。

下图为anaconda开始界面,可通过Jupyter(notebook)练习python代码编写。

selenium 安装

在win命令行使用 pip install selenium 安装第三方类包。

selenium 是一个 web 的自动化测试工具,详细使用可参考官方文档

https://selenium-python.readthedocs.io/index.html

webdriver 安装

签到实现

代码逻辑

def_logging.py

定义日志输出

signin.py

引入selenium类包

webdriver.Chrome() 实现网页模拟打开

driver.find_element_by_xpath 定位登陆页面的账号、密码、登陆按钮实现自动输入点击

driver.find_element_by_partial_link_text 获取签到页面链接并进入

driver.window_handles 获取目前打开的所有窗口,并切换至签到页面所在窗口

driver.find_element_by_xpath 定位签到按钮,并实现自动点击

driver.quit() 退出浏览器

代码部分

def_logging.py

#!/usr/bin/env python

# coding: utf-8

import logging

logFilename='C:\Mypython\执行日志.log'

def logging_out(logContext):

''''' Output log to file and console '''

# Define a Handler and set a format which output to file

logging.basicConfig(

level=logging.INFO, # 定义输出到文件的log级别,大于此级别的都被输出

format='%(asctime)s %(filename)s : %(levelname)s %(message)s', # 定义输出log的格式

datefmt='%Y-%m-%d %A %H:%M:%S', # 时间

filename=logFilename, # log文件名

filemode='a') # 写入模式“w”或“a”

logging.info(logContext)

signin.py

#!/usr/bin/env python

# coding: utf-8

import time

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from def_logging import logging_out

myusername = "xxxxxxxx@qq.com"#登录账号

mypassword = "xxxxxxxx"#登录密码

driver = webdriver.Chrome() #模拟浏览器打开网站

driver.get("https://www.xxxxx.cn/member.php?mod=logging&action=login")

driver.maximize_window()

try:

driver.find_element_by_xpath("//*[@name='username']").send_keys(myusername)

time.sleep(2)

driver.find_element_by_xpath("//*[@name='password']").send_keys(mypassword)

time.sleep(2)

driver.find_element_by_xpath("//*[@name='loginsubmit']").click()

time.sleep(5)

driver.find_element_by_partial_link_text('签到').click()

time.sleep(5)

windows=driver.window_handles #获取全部的浏览器窗口

print(windows)

print(driver.current_url) #获取当前浏览器窗口url

print(driver.current_window_handle) #获取当前浏览器窗口

driver.switch_to.window(windows[1]) #切换浏览器窗口到签到

print(driver.current_url) #获取当前浏览器窗口url

print(driver.current_window_handle) #获取当前浏览器窗口

#driver.find_element_by_partial_link_text('首页').click()

driver.find_element_by_xpath("//div[@class='qdleft']/a").click()

time.sleep(2)

logging_out("签到成功")

except:

logging_out("签到失败")

#退出去动

driver.quit()

python签到教程_Python实现自动签到相关推荐

  1. python签到教程_Python实现自动签到脚本功能

    实训课期间忙里偷闲的学习了python的selenium包,唯一一点不好是要自己去查英文文档,明摆着欺负我这种英语不好的,想着用谷歌翻译一下,代码也给我翻译了,不知道是几个意思. 大二的时候就让我们做 ...

  2. python实现app自动签到器_Python实现自动签到脚本代码示例

    本篇文章小编给大家分享一下Python实现自动签到脚本代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 开发环境 : Windows10 + s ...

  3. python实现app自动签到器_Python实现自动签到脚本功能

    实训课期间忙里偷闲的学习了python的selenium包,唯一一点不好是要自己去查英文文档,明摆着欺负我这种英语不好的,想着用谷歌翻译一下,代码也给我翻译了,不知道是几个意思. 大二的时候就让我们做 ...

  4. python玩微信小程序游戏_使用python实现微信小程序自动签到功能

    功能描述目标 完成多账号微信小程序每天自动签到 输出 签到成功则向微信群发送签到成功的信息 否则提示用户签到失败,需手动签到 包管理 requests itchat time threading 程序 ...

  5. 利用腾讯云Python函数实现机场每日自动签到领流量

    利用腾讯云Python函数实现机场每日自动签到领流量 基于项目 https://github.com/zhjc1124/ssr_autocheckin 修改 sspanel自动签到脚本(腾讯云函数) ...

  6. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  7. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  8. python app自动签到_Python实现自动签到(一)

    环境准备 Python编译环境 --anaconda安装,一种Python IDE集成环境 selenium --web 的自动化测试工具,第三方类包 webdriver --浏览器webdriver ...

  9. Python + GitHub Actions 实现 CSDN 自动签到与抽奖(非 selenium 版本)

    文章目录 [1x00]技术栈 [2x00]代码实现签到与抽奖 [3x00]签到结果通知 [03x01]Server 酱 [03x02]企业微信 [03x03]钉钉 [4x00]自动签到 [5x00]完 ...

最新文章

  1. 子主题function php,wordpress子主题怎么添加
  2. 周五话分析 | 方法论难落地?来个量身定制版本吧(AARRR模型)
  3. java实现语法分析器_200 行 JS 代码,带你实现代码编译器
  4. 欢乐纪中B组周六赛【2019.3.9】
  5. 在分析了47,251个依赖关系之后,2016年排名前100的Java库
  6. Hadoop 开源调度系统zeus(二)
  7. 年终盘点:云上争锋,谁领国产数据库之先机?
  8. 苹果系统安装驱动的五种方法
  9. pdf文档怎么转换成word格式,pdf转word的方法
  10. java记事本的代码_Java基础——第一个记事本代码与Java注释
  11. lanhelper1.83 注册
  12. 郭德纲家训--话糙理不糙
  13. 将[c语言中文网](http://c.biancheng.net/view/1380.html)的“”23 种设计模式“的网页转成pdf
  14. MyIM2006开发报告2:Tcp连接
  15. QAxObject保存Excel表格
  16. Nginx的配置与优化
  17. 前端开发行业发展怎么样 平均待遇大概是多少
  18. Python学习D-1
  19. shell的循环运用
  20. Java学习_Day 03(学习内容:狂神说JAVA零基础P17-P29)

热门文章

  1. 【Unity3D Shader编程】之六 暗黑城堡篇: 表面着色器(Surface Shader)的写法(一)
  2. 混合驱动+封装实现163邮箱登录+创建联系人+发送邮件
  3. opencv遍历像素的方式
  4. X79主板win10启动卡住问题修复处理
  5. Qt线程、事件与QObject
  6. echart折线图信息配置及点击事件
  7. jQuary中delegate()函数的作用
  8. RA layer request failed
  9. TCP/IP 1.概述
  10. windows 10 电脑 应用图标变白色恢复方法