python实现打卡

需要的包:

python
chrome driver (put in the python path)
selenium==2.48.0
requests

Auto_health_report.py

from selenium import webdriver
import time

# Load the login webpage
browser = webdriver.Chrome()
# executable_path='C:\Program Files\Mozilla Firefox\firefox.exe'  #放弃火狐浏览器,换成自己常用的Chrome
browser.get('https://weixine.ustc.edu.cn/2020/login')
link_indentity = browser.find_element_by_link_text('统一身份认证登录')
link_indentity.click()

# Fill in the blanks
username_elememt = browser.find_element_by_id('username')
username_elememt.send_keys('【输入自己的学号】')
password_element = browser.find_element_by_id('password')
password_element.send_keys('【输入自己的密码】')
link_login = browser.find_element_by_id('login')
link_login.click()

# Submit the daily health report
# information_report_element = browser.find_element_by_link_text('user-info-btn')
# information_report_element.click()
# time.sleep(3)
confirm_element = browser.find_element_by_id('report-submit-btn-a24')
confirm_element.click()
time.sleep(1)
browser.quit()

auto.bat

@echo off
start cmd /k "python Auto_health_report.py && taskkill /f /t /im cmd.exe"
  1. cmd里输入python,现在会自动弹出Microsoft store,在里面安装。
  2. 关于selenium 包,有说法2.48.0的版本最稳定(未验证)。
  3. 可能出现问题:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable

是Chrome驱动的问题,参考这个,下载Chrome对应版本的驱动,将chromedriver.exe复制到python所在目录下,比如前面Microsoft store里安装的python就是在C:\Users\xxx\AppData\Local\Microsoft\WindowsApps\python.exe。(也可以用where python查)。
4.find_element_by_id的ID怎么查?参考这个
按F12,选择elements,再把鼠标移动到要查找的button的位置,就可以看到ID了
在这里插入图片描述

再举个栗子

from selenium import webdriver
import time

# Load the login webpage
browser = webdriver.Chrome()
# executable_path='C:\Program Files\Mozilla Firefox\firefox.exe'
browser.get('https://weixine.ustc.edu.cn/2020/login')
link_indentity = browser.find_element_by_link_text('统一身份认证登录')
link_indentity.click()

# Fill in the blanks
username_elememt = browser.find_element_by_id('username')
username_elememt.send_keys('【输入自己的学号】')
password_element = browser.find_element_by_id('password')
password_element.send_keys('【输入自己的密码】')
link_login = browser.find_element_by_id('login')
link_login.click()


confirm_element = browser.find_element_by_id('menu')
confirm_element.click()
time.sleep(1)

confirm_element = browser.find_element_by_link_text('申报记录')
confirm_element.click()
time.sleep(1)
browser.quit()

在这里插入图片描述

获取文本框信息

name=browser.find_element_by_xpath('/html/body/div[2]/div[1]/ul[2]/li/span').text
print(name)
with open('name.txt', 'wb') as f:
	f.write(name.encode('utf-8'))

注意:这里不要写成

/html/body/div[2]/div[1]/ul[2]/li/span/text()

在这里插入图片描述

下载图片

需要requests包:

pip install requests

url = browser.find_element_by_css_selector('#WU_FILE_0>img').get_attribute('src')
url2 = browser.find_element_by_css_selector('#fileListAkm>#WU_FILE_1>img').get_attribute('src')
url3 = browser.find_element_by_css_selector('#fileListHs>#WU_FILE_1>img').get_attribute('src')


browser.quit()

r = requests.get(url)
with open(name+'XingChengMa.png', 'wb') as f:
    f.write(r.content)

r = requests.get(url2)
with open(name+'AnKangMa.png', 'wb') as f:
    f.write(r.content)

r = requests.get(url3)
with open(name+'HeSuanBaoGao.png', 'wb') as f:
    f.write(r.content)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里有重名的:“WU_FILE_1”, 所以写了2层

‘#fileListAkm>#WU_FILE_1>img’
‘#fileListHs>#WU_FILE_1>img’

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值