0.目的
工作每天都得下载最新的固件进行测试,想每天到达工位时最新固件已经下好,而我只是菜鸡,想不到好办法只能用笨办法,让浏览器自动帮我点呗,所以想到了selenium
1.下载webdriver
去chrome设置->关于chrome 查看当前chrome版本
去http://chromedriver.storage.googleapis.com/index.html下载对应版本webdriver
2.分析URL
由于该网站url仅随日期变动,分析后补全url
3.寻找下载按钮
找寻方法有很多,需要结合网站html的详情自行分析
在这里我使用By.CLASS_NAME确定大的div,由于下载文件版本很多,我过滤了一下关键字,找到我想要的,然后因为div本身就有跳转链接就不用再去找子button,我直接click了
4.定时
死循环,每隔一个小时看一眼是不是快到设定的时间了,这个方法很笨,肯定可以优化,但是我懒得优化了,能用就行。(比如可以计算当前时间和目标时间秒数差,精确下载时间;由于我没搜到如何获取下载状态,我就根据网速和文件大小统一设置了1200s等待时间;再做点交互指定其他版本等等。以后再填坑吧)
5.代码如下
import datetime
from selenium.webdriver.common.by import By
from selenium import webdriver
import time
while True:
hour = datetime.datetime.now().hour
print('now hour is ' +