如何使用CasperJS等待2个选择器?

时间:2014-12-02 22:14:28

标签: javascript casperjs

在我的用例中,了解页面加载时间的唯一方法是等待2个选择器。

使用CasperJS最好的方法是什么?

这是我的解决方案:

casper.waitUntilVisible2 = function(selector1, selector2, then, onTimeout, timeout) {
  casper.waitUntilVisible(selector1, function () {
    casper.waitUntilVisible(selector2, then, onTimeout, timeout)
  }, onTimeout, timeout);
}

1 个答案:

答案 0 :(得分:0)

我建议进行一些改进,以便通过返回this并实际使用this来将该函数用于链接,以便更容易将此函数添加到一个casper个实例中脚本。没关系,没关系。

casper.waitUntilVisible2 = function(selector1, selector2, then, onTimeout, timeout) {
  this.waitUntilVisible(selector1, function () {
    this.waitUntilVisible(selector2, then, onTimeout, timeout)
  }, onTimeout, timeout);
  return this;
}

您还可以尝试仅使用第二个选择器。

casper.waitUntilReappears = function(selector, then, onTimeout, timeout) {
  this.waitWhileVisible(selector, function () {
    this.waitUntilVisible(selector, then, onTimeout, timeout)
  }, onTimeout, timeout);
  return this;
}

如果选择器的更改速度超过20毫秒,则可能会失败。