如何等待按钮启用casperjs?

时间:2013-11-21 04:10:38

标签: javascript wait casperjs

我正在尝试自动化一个包含以下提交按钮的表单:

<input type="button" class="inactiveswbuttonNew" id="btnSearch" aria-label="Search" style="border: 0px none !important; background-image: url(https://www.anthem.com/images/ProviderFinder/SearchWizard/search2_button.png);" disabled>

问题是,在您填写表单上的所有必需信息之前,该按钮已被禁用。所以,我想让casperjs等待按钮在点击之前启用。我已经尝试了this.waitForSelectorTextChange('#btnSearch');,但这只是超时。

关于如何实现这一目标的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:1)

当网站已加载jquery时,我已将casperjs配置为包含jquery。这使casper.click('selector');失败。删除额外的jquery,一切都按预期工作。

答案 1 :(得分:0)

我不知道确切的答案,但你可以试试这个:

casper.waitForSelector(x("//input[@disabled='false']"),
function success() {
    //code
  },
function fail() {
    //code
});

不要忘记设置等待超时:

var casper = require('casper').create();
var x = require('casper').selectXPath;
casper.options.waitTimeout = 100000;

答案 2 :(得分:0)

如果您提供了更多代码,我可能会使用它。

如果我有网站链接,我可能会提供更多帮助。

由于我不知道它是哪个网页,并且根据您的目标,您可以忽略“禁用”按钮。

看看你是否只是在填写表格后执行通常负责直接提交表格的java脚本。

或类似的东西也可以。

this.click('#ctl00_myhiddenaspx_button_btn_sumbit')