2

假设我成功检索了一些 Capybara 节点:

node = find("#some-element")

该元素有一些讨厌的属性,我只想忽略或覆盖给定测试的上下文:

node[:onClick] # "someInlineJSCrap(); return false;"

是否可以覆盖 Capybara 节点上的属性?我尝试过 ruby​​ 哈希赋值语法,但没有成功;

node[:onClick] = "return true;"

编辑(完全错误):

undefined method `[]=' for # <Capybara::Element tag="a"> (NoMethodError)

任何帮助,将不胜感激!

4

1 回答 1

7

我不知道这是否可能,但我认为我有一个解决方法。

您可以使用通过 JavaScriptpage.execute_script更改onClick节点的值。

那将是类似的东西page.execute_script("$('#some-element').attr('onClick', 'return true;')")

于 2013-07-10T08:31:40.800 回答