У javascript генерированных страниц не существует стандарта, определяющего момент, когда можно считать что страница загрузилась (там могут быть анимации например а тк же контент может подгружаться по мере скролирования или перемещения мышкой)
Универсального инструмента нет, но в частных случаях можно написать приложение, использующее headless браузер и какое то закодированное условие окончания загрузки (таймаут например) и формат, в котором сохранять страницу (например картинка, или pdf, или html дамп,..)
p.s. когда то давно я писал приложение на visual studio .net c# использующее стандартный компонент WebBrowser (это древний internet explorer, поддерживается до сих пор), так вот при запуске его в linux mono, подставляется headless firefox
приложение это выглядело как форма, на которую кидаешь компоненту браузера, дальше 1 строчка прописать адрес странице, еще пара строк на регистрацию колбека на окончание загрузки, и пара строк сохранения,... приложение пишется за 2 минуты