我正在编写我的第一个casperjs测试,并且我遇到了一个问题。我需要等待一个元素在我的DOM中。它使用详细的选择器很好用,但无法通过它的id找到它。
使用此HTML:
<ul class="nav navbar-nav">
<li data-ng-if="!connectedUser && 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仍然不存在
答案 0 :(得分:0)
所以经过几个小时的尝试!我终于意识到你需要将元素类型放在id之前,如button#toto
。