Casper JS 不会使用 id 等待选择器
Casper JS won't waitForSelector using id
我正在编写我的第一个 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();
});
我得到这个输出:
Verbose OK !
FAIL "#toto" still did not exist in 15000ms
type: uncaughtError
file: test/login3.js
error: "#toto" still did not exist in 15000ms
所以在尝试了几个小时之后!我终于意识到你需要像这样 button#toto
.
把元素类型放在 id 之前
我正在编写我的第一个 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();
});
我得到这个输出:
Verbose OK !
FAIL "#toto" still did not exist in 15000ms type: uncaughtError file: test/login3.js error: "#toto" still did not exist in 15000ms
所以在尝试了几个小时之后!我终于意识到你需要像这样 button#toto
.