YQ期间,每天要打实习公司的体温打卡,还要打学校的体温打卡,经常忙到忘记,非常的难受,一怒之下,写了这个打卡程序,来帮我实现体温打卡!(温馨提示,请勿用于不良用途,本人由于一直未出南京市,所以才写了这个程序!)
由于隐私,链接不就不挂了,反正是金数据的链接。
按F12打开浏览器菜单,查看其中每一个表单的元素,不知道怎么查看的,F12后,点击下图红色箭头所示的箭头来查找表单的元素
获取到第一个表单的classname后,我们可以使用selenium的find_element_by_class_name
方法,然后使用send_keys
方法将名字传给元素
后面的表单我们可以同样使用该方法,需要填字符的我们是使用send_keys
方法,需要点击鼠标的我们使用click()
方法
完整代码如下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import random
from bs4 import BeautifulSoup
import re
names = ['张三','李四','王无','赵六','老八']
def sendmessage(ss):
temp=random.uniform(36.3,36.8)
temputers=round(temp,1)
temputer=str(temputers)
driver = webdriver.Chrome('D:/chromedriver.exe')
driver.get("这里填要打卡的链接")
name = driver.find_element_by_class_name('ant-input')
name.send_keys(ss)
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[4]/div/div[2]/div/div/span/div/div/div/div/div[1]').click()
driver.find_element_by_id('react-select-2-option-0').click()
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[6]/div/div[2]/div/div/span/div/div/div/div/div[1]').click()
driver.find_element_by_id('react-select-3-option-0').click()
time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[8]/div/div[2]/div/div/span/div/div/div/div/div[1]').click()
driver.find_element_by_xpath('//*[@id="react-select-4-option-0"]').click()
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[10]/div/div[2]/div/div/span/div/div[2]/div/div/label/span[1]/input').click()
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[12]/div/div[2]/div/div/span/div/div[1]/div/div/label').click()
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[14]/div/div[2]/div/div/span/div/span/input').send_keys(temputer)
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[3]/div/div[16]/div/div[2]/div/div/span/input').send_keys('无')
time.sleep(5)
driver.find_element_by_xpath('//*[@id="root"]/div/form/div[5]/div[1]/button').click()
for i in range(0,5):
name = names[i]
myname= str(name)
sendmessage(myname)
time.sleep(3)
我这里为我们部门好几个人打卡,所以使用了一个数组将部门的人名字都存储进去,同时设置了体温在36.3-36.8之间的随机值