我正在使用CasperJS编写功能测试,我需要单击一个按钮,这很简单。我遇到的问题是我没有使用“li”列表,而是元素位于“div列表”中。
我的HTML是这样的:
<div class="List">
<div class="list-item>
<div class="list-item-detail" data-id="1"></div>
</div>
<div class="list-item>
<div class="list-item-detail" data-id="2"></div>
</div>
</div>
正如您所看到的,列表中两个项目之间的唯一区别是它们的data-id。那么,我的问题是如何casper.click()第一个元素。我知道如何访问类或id,但我不知道如何访问data-id =“1”。任何见解?
编辑:在下面使用Fanch的答案,我很确定我能够点击相应的项目,但经过多次拉扯之后为什么事情仍然不起作用,我意识到我的页面只响应触摸事件,所以虽然我可以点击该项目,但实际上没有任何事情发生。看起来这可能比我想象的更毛茸茸。答案 0 :(得分:1)
使用此:
casper.click('.list-item-detail[data-id="1"]');
你也可以像我想的那样做:
casper.click('.List > .list-item:first-of-type > .list-item-detail');
答案 1 :(得分:-1)
Fanch的选择对我来说似乎没问题,但很好的回答,不过你也可以这样做:
casper.click('.list-item-detail:first');