Я работаю над веб-приложением Flask с селеном.Он принимает URL-адрес в качестве входных данных, выполняет некоторые вычисления для различных элементов, а затем делает снимок экрана с этой страницей, однако часть снимка экрана занимает не менее 5-7 секунд и действительно зависит от того, когда их веб-сайт полностью загружается.
Iне могу обернуться, как загрузить страницу с вычислениями, но выложить часть скриншота до тех пор, пока не загрузится новая страница с вычислениями;Потенциально просто показывает загрузочный GIF в области, где будет отображаться изображение.Я думал о рендеринге шаблона только с вычислениями, а затем при загрузке страницы через ajax, передал fx для изображения, через jquery запустил gif загрузки вместо изображения и затем обновлял страницу каждые x секунд через jquery, пока это не было сделано, нокажется плохой практикой любые комментарии / комментарии очень ценятся.
@app.route('/', methods=['GET', 'POST'])
def index():
# bunch of calcs happen first
imgofsite = ''
driver.set_window_size(width=800, height=600)
driver.get(site) # whatever reachable url
timeout = time.sleep(5)
if not error:
name_it = str(site)
apng, seppng, namepng = name_it.partition('//www.')
time.sleep(2)
if os.path.isfile(namepng.lower().replace('/', '-') + '.png'):
pass
else:
driver.save_screenshot('./static/' + name.lower().replace('/', '-') + '.png')
imgofsite = namepng.lower().replace('/', '-') + '.png'