我通过chromewebdriver (windows)使用selenium和python,以便自动化从不同页面下载大量文件的任务。我的代码可以工作,但解决方案远非理想:下面的功能点击网站按钮,启动一个java脚本功能,生成PDF文件,然后下载它。
我不得不使用静态等待,以等待下载完成(丑陋)我不能检查文件系统,以验证何时下载完成,因为我使用的是多线程(从不同的页面同时下载大量文件),而且文件的名称是在网站本身动态生成的。
我的代码:
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中确定下载完成?我想避免使用time.sleep(x)。
非常感谢。
https://stackoverflow.com/questions/48263317
复制相似问题