def click_download_fileself urn path 点击下载按钮下载文件 downloaded_files_success = # 下载成功的文件列表 downloaded_files_failed = # 下载失败的文件列表 links = selfbrowsersafe_get_linkByCSS_SELEC
是的,可以将这两行代码只写一次。可以在第一次点击链接之前调用self.download_alert(),然后在每次重试之前不再重复调用。修改后的代码如下:
def download_with_retry(self, link, file_title, download_time_limit, file_size, path, urn):
retry_count = 3
while retry_count > 0:
self.browser.click_with_link(link)
if retry_count < 3:
self.download_alert() # 重试需要点击文件下载过大
logger.info("\n >> 【urn = {}】文件名{}文件大小{},下载时间{}".format(urn, file_title, file_size, download_time_limit))
status = self.download_file_is_successfully(path, file_title, file_size)
if status:
return True # 下载成功
else:
time.sleep(download_time_limit)
status = self.download_file_is_successfully(path, file_title, file_size)
if status:
logger.info("\n >> 【urn = {}】文件{}重试下载成功".format(urn, file_title))
return True # 重试成功
else:
logger.info("\n >> 【urn = {}】文件{}重试下载失败".format(urn, file_title))
retry_count -= 1
return False # 重试次数用尽,下载失败
这样就避免了重复调用self.download_alert()的问题
原文地址: https://www.cveoy.top/t/topic/iAtd 著作权归作者所有。请勿转载和采集!