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
注意:驱动的版本号要和浏览器的版本号一致
(若使用别的浏览器则下载该浏览器的驱动)
- 下载selenium
pip install selenium
使用selenium结合XPATH操作元素
- 使用selenuim模拟点击、输入、清空等事件。
- 使用XPATH定位元素
-
如何确定XPATH?
可以自己通过dom确定,也可以使用谷歌浏览器自带的功能快速定位。使用谷歌浏览器快速得到XPATH优缺点
优点:
方便快捷,小白也能轻松上手
缺点:
①当页面元素会随着操作变化时,使用XPATH绝对定位可能会定位失败
②当页面有嵌套子页面的时候使用XPATH绝对定位会失败
但是selenuim可以通过多种方式定位元素,当无法使用XPATH的时候可以通过别的办法进行定位。
-