1

When phantom is used as node module, the function WaitFor that waits for a DOM element condition to be verified does not work when page.evaluate is a Promise like:

sitepage.evaluate(function() {
  return document.querySelectorAll('.content > ul');
}).then(function(html) {
  sitepage.close();
  phInstance.exit();
  if (done) done(pageContent);
});

so this will not work:

waitFor(function() {
    return sitepage.evaluate(function() {
      return document.querySelectorAll('.content > ul');
    }).then(function(html) {
      sitepage.close();
      phInstance.exit();
      if (done) done(pageContent);
    });
  },
  function() {
    sitepage.close();
    phInstance.exit();
  }, 1000);

In this case the then holds the results from the evaluate condition. So it possible to implement in the waitFor support for the Promise?

Rayon
  • 36,219
  • 4
  • 49
  • 76
loretoparisi
  • 15,724
  • 11
  • 102
  • 146

0 Answers0