使用水豚,我无法从 href 读取自定义数据属性

using capybara, i'm unable to read custom data- attribute from an href

我有一些 HTML 大致如下:

<a href="javascript:void(0)" class="myclass" data-id="dynamic value"> X </a>

这是一个删除 link,我在 href 中对要删除的项目的 ID 进行编码。 然后我有一些 javascript 看起来一般是这样的:

$('.myclass').click(function(){
  var id = $(this).data('id');
  $.ajax({ url: 'correct_url', data: {id: id}, type: 'DELETE'});
}

当我使用该应用程序时,一切正常。

但是,我正在尝试使用水豚(capybara-webkit 驱动程序)对其进行测试 它崩溃了:DELETE 请求在没有 id 字段的情况下发送到服务器!它不仅没有价值,而且还没有被发送。但是发出了请求,所以看起来 js 正在执行,只是减去使用 this 的行并包含额外的 data 散列。

有什么想法吗?它需要是一个变量,因为确实有一个事物列表,每个事物都需要自己的删除 link。我是否错过了完成这整件事的更好模式?水豚被抓了吗?谢谢...

这是 QtWebkit 的限制 - 请参阅 https://github.com/thoughtbot/capybara-webkit/issues/427 - 如果您没有将 Qt 5.5.1 与 capybara-webkit 一起使用,则可能已添加支持,因此您可能想尝试升级.