There isn't much tuning freedom available in the WebExecute method. If a page takes too long to load you only see a spinner or a blank for
CapturePage. Does someone see how to let the method wait a bit?
WebExecute returns from
WebExecute returns, there's still a possibility that scripts change the page. The only thing you can really do, is use
WebExecute[session, "OpenPage" -> url]; Pause[n] WebExecute[session, "CapturePage"]
to wait for a while and give the scripts on the page time to stabilize.
And then make a decision based on what