环境准备

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 app自动签到_Python实现自动签到(一)相关推荐

  1. python京东自动签到_python实现自动登录 签到 京东 苏宁

    项目紧张的忙完了,早上签到时突然想到自动签到~~ '人生苦短,我用python' 网上看了下,很简单.对于小白来说,主要难度是环境的搭建. 主要用到: 1 selenium  模拟浏览器 2 chro ...

  2. python写一个自动登录脚本_Python 实现自动登录+点击+滑动验证功能

    需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码 ...

  3. python操作手机京东_Python实现自动上京东抢手机

    本文实例为大家分享了Python自动上京东抢手机的具体代码,供大家参考,具体内容如下 上次抢荣耀V9,被京东给恶心到了,所以就写了个简单的Python来自动抢V9.虽然用的是比较蠢的方法,但觉得还是有 ...

  4. python excel模板 插件_python脚本——自动推送txt,EXCEL等文件模板

    #!/usr/bin/python # -*- coding: utf-8 -*- #此处支持中文字符一定要放在前两行,置后的话不生效,脚本报错 #!/usr/bin/env python impor ...

  5. python缺少标准库_Python 实现自动导入缺失的库

    作者:豌豆花下猫 在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx'或者ModuleNotFoundError: ...

  6. 如何利用python自动化办公项目_python办公自动化:自动进行word文档处理和排版

    上节python办公自动化:自动打开word文档我们一起学会了在python里打开并保存一个word文档.这节我们将会学会如何利用python进行文本处理和将其在word里进行排版等技巧. pytho ...

  7. python实现程序重启_python实现自动重启本程序的方法

    #!/usr/local/bin/python #-*- coding: UTF-8 -*- ##################################################### ...

  8. python自动输入密码_Python实现自动输密码

    什么是pexpect 顾名思义,你一定能猜到与expect有什么联系.还不知道什么是expect?好吧,我们先来科普下: expect是Don Libes发明的tcl脚本语言的一个扩展.可以用于ssh ...

  9. python人工自动抠图_Python - AI自动抠图

    一.简介 抠图是用PS? 用魔棒和快速选择工具? 遇到复杂背景怎么办? 最近发现一个神奇的工具--Remove Image Background 它是基于Python.Ruby和深度学习技术开发,通过 ...

最新文章

  1. Membership角色与权限管理
  2. Anaconda安装Python,提示Python不是内部或外部命令解决方法
  3. GCC中的内嵌汇编语言
  4. 机器学习(MACHINE LEARNING)MATLAB求解利润最大化问题【线性规划】
  5. 创建安卓app的30个经验教训
  6. ubantu之Git使用
  7. delphi 的GetTickCount计时用法缺陷及管制
  8. MOT-Machine Learning Methods for Solving Assignment Problems in Multi-Target Tracking
  9. c语言小组作业报告,C语言实训总结报告范文
  10. 微信小程序高德地图获取当前定位
  11. 3dMax 倒角剖面(中式亭子)
  12. IMDG产品功能扩展
  13. 壳聚糖导管复合辛伐他汀/泊洛沙姆407水凝胶/负载转化生长因子β1温敏性壳聚糖水凝胶的制备
  14. ChatGPT修bug横扫全场,准确率达78%!程序员喜忧参半
  15. Google Earth Engine(GEE)——MODIS影像StateQA波段bit去云
  16. 移动联通电信4g和移动4g有什么区别
  17. 深入分析 Java Web 中的中文编码问题
  18. 加密狗软加密方案离线绑定与解绑
  19. linux声卡驱动源码,创新公布X-Fi系列声卡Linux驱动源代码
  20. 对象检测目标小用什么模型好_小目标检测技术分析

热门文章

  1. dumpbin的使用方法_vs2019 dumpbin使用不了?
  2. 数据库新增幂等操作_数据库幂等性
  3. GEE上传矢量文件失败
  4. 【JS】jQuery中将数组转换成字符串
  5. 不羡慕街头牵手相拥的情侣,只羡慕傍晚牵手漫步的老人
  6. Jenkin之Jenkins安装
  7. 教你如何在树莓派上使用usb摄像头!!!
  8. 智和网管平台交通行业综合网管解决方案
  9. 信创产业专题:突破核心技术,信创扬帆起航(2021)
  10. Python基础学习笔记——设计一个名为MyRectangle的矩形类来表示矩形