【发布时间】:2015-04-01 02:46:38
【问题描述】:
我正在尝试使用 casperjs waitFor() 匹配 RSS 提要中的令牌(字符串令牌),但它似乎不起作用。还有其他方法(不使用轮询)可以解决,但我需要进行轮询。这是代码sn-p:
casper.then(function() {
this.waitFor(function matchToken() {
return this.evaluate(function() {
if(!this.resourceExists(token)) {
this.reload();
return false;
}
return true;
});
});
});
对 rss url 的更新不是动态的,因此需要刷新以检查令牌。但似乎(从访问日志中)我在 rss url 上没有得到任何点击(重新加载不起作用)。理想情况下,如果它没有看到令牌,我想刷新页面,然后再次检查令牌并且它应该继续这样做,直到 waitFor 超时。
我也尝试使用 assertTextExists() 而不是 resourceExists() 但即使这样也不起作用。
我正在使用 PhantomJS (1.9.7),网址是:https://secure.hyper-reach.com:488/rss/323708
我正在寻找的令牌是 --> item/272935。如果您查看我上面提到的 url,您会在每个 guid 标记中找到它。我将“item/”也包含在我的令牌中的原因是它不会错误地匹配任何其他数字。
【问题讨论】:
-
我不明白令牌应该是什么。因此,您正在 CasperJS 中打开提要 xml。它只是一个文件,它会立即加载,那么您还在等什么?
-
令牌在 guid 标签中。它是我们在每个帖子中生成的东西,它是唯一标识符。
-
我正在等待提要 xml 的新帖子。基本上,它不是静态的。每次测试都会更新 xml 提要,并且需要一段时间来更新它。所以,我需要轮询更新,而令牌是我确保它被更新的方式。测试每小时运行一次
-
现在摆脱评估。
标签: javascript casperjs