waitForPopup()找不到Casperjs弹出窗口

时间:2015-05-12 06:25:58

标签: casperjs

waitForPopUp()函数似乎没有识别来自&#39; this.popups&#39;的弹出窗口。如果在&#39; this.popups&#39;中有一个<deleted>条目在实际弹出之前。

我有一个主窗体,可以通过单击弹出链接创建新数据。用户在弹出窗口中创建新数据。用户保存弹出窗口并关闭,并且主窗体也会刷新。

尝试为多个新数据条目自动执行此操作。问题是它第一次完美地运行,但是第二次它在waitForPop()时出错。它给出了弹出没有出现在超时(5秒)内的错误。

casper.waitForPopup(/add_new_tasks/, function () {
    /* code */
});

我在waitForPopup()之前添加了以下代码来直接调用findByRegExp()函数。

this.wait(2000, function () {
    this.echo("popup list entries - "+this.popups.list());
    this.echo("search popup " + this.popups.findByRegExp(/add_new_tasks/));
});

第一次以下是消息 -

popup list entries - http://blahblah/tasks/add_new_tasks.do?popupMode=true
search popup WebPage(name = "WebPage")

第二次以下是消息 -

popup list entries - <deleted>,http://blahblah/tasks/add_new_tasks.do?popupMode=true
FAIL Error: cannot access member `url' of deleted QObject

Casperjs版本是1.1。 Phantomjs - 1.9.7。试过幻影1.9.8和1.9.2。 Windows 8.1操作系统。

我添加了弹出窗口创建,加载和关闭的事件,可以看到this.popups数组正确更新。第二次触发创建和加载的事件。

我可以做些什么来解决这个问题,或者我做错了什么。谢谢......

0 个答案:

没有答案