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)