python利用selenium实现自动化打卡

python利用selenium实现自动化打卡

1.配置环境

安装selenium

pip install selenium

安装谷歌,selenium可兼容很多种浏览器,这里用谷歌为例

安装过程:略;安装完后查看版本号。这里我的版本号为107.05304.88在这里插入图片描述

安装谷歌驱动器

点击链接进入安装驱动器
驱动器地址:chromedriver.storage.googleapis.com/index.html

点击进入,选择你谷歌对应的版本,没有具体的就选最相似的,在这里插入图片描述

对应着自己的系统去下载,win64的用户下载win32.zip就行。

在这里插入图片描述
重点:安装解压的.exe文件要放在python目录下的Scripts中
在这里插入图片描述

以上就是环境的基本配置,接下来就是敲代码环节;

2.启动,查询,输入,确认

启动

先导入这些对应的库

from selenium import webdriver as web
from selenium.webdriver.common.by import By
from time import sleep as sp

操作步骤为,打开浏览器,输入网站,放大浏览器,缓冲,划到底部

对应代码如下

browser = web.Chrome() # 打开谷歌浏览器
browser.get('http://www.baidu.com/') # 填写需要进入的网站,这里以百度为例
browser.maximize_window()  # 放大浏览器
sp(6)# 缓冲6秒(根据情况自行定义)
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')  # 滑到底部

查询

进入网页按F12,按步骤点击复制Xpath的数据

在这里插入图片描述

依次找出3个输入框的数据规律如下:[@id=“app”]/div/div[值]/div[2]/div/div/div/div/input 注意:数据中的‘值’字分别为7,8,9.对应早中晚3个输入框。

输入

那我们可以写成如下代码并用.send_seys(“36”),表示输入数值36

for i in range(7, 10):
    sp(1) # 间隔1秒
    browser.find_element(By.XPATH, f'//*[@id="app"]/div/div[{i}]/div[2]/div/div/div/div/input').send_keys("36")

至此,输入数据已完成,接下来就是按确认按钮了。

确认

同理找到各个按键的XPATH数据,填入函数,依次点击。(这里利用列表循环遍历不同按钮并点击,中间间隔2秒)

ls = ['//*[@id="app"]/div/div[11]/button[2]',   # 右下角的确定
      '/html/body/div[5]/div[3]/button[2]',      # 弹窗确定
      '/html/body/div[5]/div[2]/button/div']     # ok确定
for j in ls:
    sp(2)
    browser.find_element(By.XPATH, j).click()  # 点击定位到的

最后运行程序,解放双手,看着电脑帮自己干活的感觉,very巴适。

3.总结

完整代码如下

from selenium import webdriver as web
from selenium.webdriver.common.by import By
from time import sleep as sp

browser = web.Chrome()
browser.maximize_window()  # 放大浏览器
browser.get('这里填写自己的海科健康打卡链接')
sp(6)
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')  # 滑到底部

for i in range(7, 10):
    # 定位文本框并写入
    sp(1)
    browser.find_element(By.XPATH, f'//*[@id="app"]/div/div[{i}]/div[2]/div/div/div/div/input').send_keys("36")

ls = ['//*[@id="app"]/div/div[11]/button[2]',   # 右下角的确定
      '/html/body/div[5]/div[3]/button[2]',      # 弹窗确定
      '/html/body/div[5]/div[2]/button/div']     # ok确定
for j in ls:
    sp(2)
    browser.find_element(By.XPATH, j).click()  # 输入完毕按确定

至此我们的签到代码就结束了。。。。。。。。。。。。。。。。。。。

selenium能干的事情还有很多,很多需求都可以举一反三。具体更多的用法可以在csdn和selenium官方文档找到。 Getting Started — Selenium Python Bindings 2 documentation (selenium-python.readthedocs.io)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值