Capybara - 覆盖节点上的属性

时间:2013-07-10 04:19:46

标签: ruby capybara

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

node = find("#some-element")

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

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

是否可以覆盖Capybara节点上的属性?我已经尝试过ruby哈希赋值语法而没有运气;

node[:onClick] = "return true;"

编辑(完整错误):

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:4)

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

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

类似于page.execute_script("$('#some-element').attr('onClick', 'return true;')")