我通过chromewebdriver(windows)使用selenium和python,以自动完成从不同页面下载大量文件的任务.
我不得不使用静态等待来等待下载完成(丑陋).我无法判断文件系统来验证下载何时完成,因为我使用多线程(一次从不同页面下载大量文件),而且文件名在网站本身中动态生成.
我的代码:
def file_download(num, drivervar):
Counter += 1
try:
drivervar.get(url[num])
download_button = WebDriverWait(drivervar, 20).until(EC.element_to_be_clickable((By.ID, 'download button ID')))
download_button.click()
time.sleep(10)
except TimeoutException: # Retry once
print('Timeout in thread number: ' + str(num) + ', retrying...')
.....
是否可以在webdriver中确定下载完成?我想避免浪费时间.睡眠(x).
谢谢.