linux实现bnuz自动打卡并发送打卡状态邮箱

tags: python,selenium,linux

背景

学校放寒假了,又恢复了去年在家每天打卡的日常,今年就想研究一下怎么用python自动打卡并且放在linux服务器上定时运行,今天就分享一下我的实现方法。

bnuz打卡的网页地址:
http://xgfx.bnuz.edu.cn/xsdtfw/sys/emapfunauth/pages/welcome.do?service=%2Fxsdtfw%2Fsys%2Fswmxsyqxxsjapp%2F*default%2Findex.do%3FwxType%3D1

环境准备

  • 谷歌浏览器

  • 安装:

    yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    
  • 查看谷歌版本号

    google-chrome -version
    
  • 下载对应版本谷歌浏览器驱动:

  • 淘宝镜像地址:http://npm.taobao.org/mirrors/chromedriver

  • 选择对应的版本号后wget下载

    wget https://cdn.npm.taobao.org/dist/chromedriver/88.0.4324.96/chromedriver_linux64.zip
    
    • 下载完成后,解压,移动到/usr/bin下
    unzip chromedriver_linux64.zip
    mv chromedriver /usr/bin/
    
    • 查看chromedriver版本号
      chromedriver --version
      注意:驱动的版本号要和浏览器的版本号一致
      (若使用别的浏览器则下载该浏览器的驱动)
  1. 下载selenium
    pip install selenium
    

使用selenium结合XPATH操作元素

  • 使用selenuim模拟点击、输入、清空等事件。
  • 使用XPATH定位元素
    • 如何确定XPATH?
      可以自己通过dom确定,也可以使用谷歌浏览器自带的功能快速定位。

      使用谷歌浏览器快速得到XPATH优缺点
      优点
      方便快捷,小白也能轻松上手
      缺点
      ①当页面元素会随着操作变化时,使用XPATH绝对定位可能会定位失败
      ②当页面有嵌套子页面的时候使用XPATH绝对定位会失败
      但是selenuim可以通过多种方式定位元素,当无法使用XPATH的时候可以通过别的办法进行定位。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值