I am currently using Qt 5.8 and the minimal webenginewidget example as a base.
There is no such thing as "the java-script has been fully executed".
If you don't think so - please define when "the java-script has been fully executed"
there are many script languages (not just java-script)
there are many java-script scripts on a single page
what if one of the scripts has infinite loop (playing video or background audio etc.)
That's why we have to do with loadFinished() only at least that's a known event. One possible workaround is (if java-script modifies DOM to wait for these modifications to appear - try to detect using XPath/CSS and then emit your own signal)
NB! Due to its asynchronous nature there is no guarantee that's the last script executed!
Thanks for the informative points. What I had in mind, that potentially could define "fully executed" is that the script interpreter, in case there are no infinite loops etc, has reached the last line of code for all (or each) scripts on the page. But as you point out that might be a bit naive.
In my case I do have control over the page to be rendered, so having a hidden DOM element saying "done", or changing the title for which there is a signal already, would work.