选择data-id CasperJS

时间:2014-06-11 13:14:33

标签: javascript html casperjs

我正在使用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的答案,我很确定我能够点击相应的项目,但经过多次拉扯之后为什么事情仍然不起作用,我意识到我的页面只响应触摸事件,所以虽然我可以点击该项目,但实际上没有任何事情发生。看起来这可能比我想象的更毛茸茸。

2 个答案:

答案 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');