javascript - 使用 CasperJS 同时处理多个 window.prompts

标签 javascript casperjs

我需要重命名现有组。创建组时只有一个窗口提示,我使用下面的代码来处理

casper.setFilter("page.prompt", function (msg, currentValue) {
    if (msg === "Enter new group name") {
        return ID;
    }
});

现在我想用新名称重命名创建的组 它会抛出如下窗口提示 1st window prompt

点击“确定”后,它会弹出另一个提示窗口,如下所示 second  prompt window

我该如何处理这种情况?

这是我在 @artjom B 建议后的代码

casper.setFilter("page.prompt", function (msg, currentValue) {
    if (msg === "Enter new group name") {
        return t;
    }
});

casper.setFilter("page.confirm", function (msg) {
    return msg.indexOf("Are you sure you want to rename group "+ID1+" to "+t+"?") !== -1;
});

casper.then(function () {
    this.click("span.label:nth-child(4)");
    console.log("Clicking on Rename button");
});

最佳答案

这可能对你有帮助。我刚刚从第二个过滤器中删除了验证部分。

casper.then(function () {
this.setFilter("page.prompt", function (msg, currentValue) {
    if (msg === "Rename group "+ID1) {          
        this.wait(5000)   
        this.echo("I'm Here")                                                                            
        return t;
    }
})
this.setFilter("page.confirm", function (msg) {                                        
    return true                           
})
this.click("span.label:nth-child(4)");
console.log("renamed the newly created group");
});

关于javascript - 使用 CasperJS 同时处理多个 window.prompts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563375/

相关文章:

javascript - 自定义 Bootstrap 导航栏

javascript - 导航到 URL 但未收到响应

windows - 如何在 Windows 上使用 CasperJS 设置 SlimerJS?

javascript - 使用 CasperJS 中的 XPath 查询获取所有表行并返回它们

javascript - 按属性值对数组中的对象进行计数并以 HTML 形式显示结果

javascript - 用于匹配第一个单词的正则表达式

javascript - 我们可以从命令行从 flash 导出到 createjs 吗?

phantomjs - 可靠地检测基于 PhantomJS 的垃圾邮件机器人

javascript - Casperjs 没有完全渲染页面

javascript - 加载必要 JSON 数据的最佳实践 : jquery's $(document). read() 钩子(Hook)?在页面的 <HEAD> 中?