Selenium是一个用于支持web浏览器自动化的一系列工具和库,常用于自动化测试。其最核心的是WebDriver,是一个编写指令集的接口。
官方介绍:https://www.selenium.dev/documentation/en/
1.selenium安装
pip install selenium
2.安装浏览器驱动
webdriver需调用浏览器驱动来操作浏览器。注意要选择和自己浏览器版本对应的驱动。
Chrome驱动程序下载地址:http://npm.taobao.org/mirrors/chromedriver/
Firefox驱动程序下载地址:https://github.com/mozilla/geckodriver/releases
3.几行代码实现自动打卡
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('E:\chromedriver\chromedriver.exe')
#火狐浏览器
#driver = webdriver.FireFox('...')
driver.get('https://your_url')
#停留一秒,防止页面未加载完成从而找不到元素。
sleep(1)
#通过id值来选择网页元素,即账号密码输入框的id分别为username和password,根据实际情况修改。
driver.find_element_by_id("username").send_keys('your_username')
driver.find_element_by_id("password").send_keys('your_passwd')
#通过class名字来确定按钮元素。
driver.find_element_by_class_name("click").click()
driver.quit()
关于上面提及的css元素查找并不是唯一的方法,根据实际网页代码情况来选择简便的方法。find_element_by_css_selector、find_element_by_id、find_element_by_xpathd都是可以确定元素的方法。有兴趣可以了解一下。
4.设置windows计划任务运行代码
此步骤比较简单,这里不再赘述。
扩展
如果有多个账号需要打卡,我们可以新建一个json文件,将账号密码保存在json文件中,依次读取,参考以下代码。
from selenium import webdriver
from time import sleep
import json
usernames = []
passwds = []
def login(username,passwd):
driver = webdriver.Chrome('E:\chromedriver\chromedriver.exe')
driver.get('https://your_url')
sleep(1)
driver.find_element_by_id("username").clear()
driver.find_element_by_id("password").clear()
driver.find_element_by_id("username").send_keys(username)
driver.find_element_by_id("password").send_keys(passwd)
driver.find_element_by_class_name("click").click()
sleep(1)
driver.quit()
def getUserInfo():
f = open("userinfo.json",encoding='utf-8')
loadjson = json.load(f)
useraccount = loadjson['useraccount']
for i in range(len(useraccount)):
usernames.append(useraccount[i]['username'])
passwds.append(useraccount[i]['passwd'])
f.close()
if __name__ == '__main__':
getUserInfo()
for i in range(len(usernames)):
login(usernames[i],passwds[i])
「 文章如果对你有帮助,请点个赞哦^^ 」 
5+
若无特殊注明,文章均为本站原创或整理发布。
转载请注明本文地址:https://om.fangxiaoxiong.com/3975.html
123