0
Вот что я хочу сделать:Загрузка файла с использованием Selenium, с до 3 попыток
- Использование Python 3 и Селен, нажмите на ссылку, чтобы загрузить файл.
- Проверяйте каждые 50 миллисекунд, чтобы убедиться, что файл существует. Загрузите файл еще раз, если он не существует через 5 секунд.
- После того, как файл существует, проверьте каждые 50 миллисекунд, чтобы получить размер файла и убедитесь, что он имеет более 0 байт. Загрузите файл еще раз, если это пустой файл.
- После того, как файл существует и имеет более 0 байт, проверьте файл на nul байты. Если он имеет nul байты, загрузите файл еще раз.
Я хочу попытаться скачать файл до 3 раз. После 3 попыток я хочу выйти из сценария.
Вот в основном то, что я до сих пор:
##### attempt to download a good file up to 3 times
loop_1 = 0
while loop_1 < 3:
driver.find_element_by_link_text('Download Results').click() ##### download the file
##### check the existence of the downloaded file; if not there within 5 seconds, download the file again
loop_2 = 0
while loop_2 < 100:
f_exists = os.path.isfile('/Users/jeff/download.csv')
if f_exists == True:
##### check file byte size is greater than 0; if not greater than 0 within 5 seconds, download the file again
loop_3 = 0
while loop_3 < 100:
f_size = os.path.getsize('/Users/jeff/download.csv')
if f_size > 0:
break
else:
loop_3 = loop_3 + 1
##### check if nul bytes are in the file; if yes, download the file again
if '\0' in open('/Users/jeff/download.csv').read():
print("WARNING: THERE ARE NUL BYTES IN THE downloaded_file.csv FILE.")
else:
print("there are no nul bytes in the downloaded_file.csv file")
break
else:
loop_3 = loop_3 + 1
time.sleep(.05)
else:
loop_2 = loop_2 + 1
time.sleep(.05)
else:
loop_1 = loop_1 + 1
time.sleep(.05)
'в то время как loop_3 <100:' блок включает в себя этот код, имеет ли файл любой длины или нет 'если '\ 0' в открытых ('/ Users/Джеф/download.csv') следующим образом():.' , я бы предложил поместить еще один 'time.sleep (.05)' after' loop_3 = loop_3 + 1' –
добавил time.sleep (.05) и обновил выше, как было предложено; все еще ищут ответ –
Как это происходит? На какой стадии это происходит? Что должно было произойти на этом этапе? – knitti