The page.open callback is only called when the page loads. This does not mean that everything has been uploaded to your page, and js has been fully executed.
In addition, js on a web page may not execute immediately, especially if the site uses MVC client frameworks such as AngularJS or Ember.js: there are a lot of things after the page load event.
setTimeout , , .
200 , .
- waitfor.js: , , , visisble.