假设我成功检索了一些Capybara节点:
node = find("#some-element")
该元素有一些讨厌的属性,我只想忽略或覆盖给定测试的上下文:
node[:onClick] # "someInlineJSCrap(); return false;"
是否可以覆盖Capybara节点上的属性?我已经尝试过ruby哈希赋值语法而没有运气;
node[:onClick] = "return true;"
编辑(完整错误):
undefined method `[]=' for # <Capybara::Element tag="a"> (NoMethodError)
任何帮助将不胜感激!
答案 0 :(得分:4)
我不知道这是否可能,但我认为我有一个解决方法。
您可以使用page.execute_script
通过JavaScript更改节点的onClick
值。
类似于page.execute_script("$('#some-element').attr('onClick', 'return true;')")