Casper JS不会使用id等待waitSelector

时间:2017-11-06 15:07:31

标签: javascript testing phantomjs casperjs

我正在编写我的第一个casperjs测试,并且我遇到了一个问题。我需要等待一个元素在我的DOM中。它使用详细的选择器很好用,但无法通过它的id找到它。

使用此HTML:

  <ul class="nav navbar-nav">
      <li data-ng-if="!connectedUser &amp;&amp; currentRoom" data-ng-class="$route.current.activetab == 'login' ? 'active' : ''">
          <a href="/login" data-translate="NAV.ITEM_SIGN_IN" id="toto"></a>
      </li>
      ...
  </ul>

这个JavaScript:

casper.waitForSelector(".nav > li > a:first-child", function () {
        test.comment(".nav > li > a:first-child OK !");
        casper.capture(config.screensFolder + "verbose_selector.png");
    }, null, 15000)

    .waitForSelector("#toto", function () {
        test.comment("#toto OK !");
        casper.capture(config.screensFolder + "id_selector.png");
    }, null, 15000)

    .run(function () {
        test.done();
    });

我得到了这个输出:

  

详细确定!

     

失败“#toto”在15000ms仍然不存在       类型:uncaughtError       file:test / login3.js       错误:“#toto”在15000ms仍然不存在

1 个答案:

答案 0 :(得分:0)

所以经过几个小时的尝试!我终于意识到你需要将元素类型放在id之前,如button#toto