假设我成功获取了一些 Capybara 节点:
node = find("#some-element")
该元素有一些讨厌的属性,我只想忽略或覆盖给定测试的上下文:
node[:onClick] # "someInlineJSCrap(); return false;"
是否可以覆盖 Capybara 节点上的属性?我试过 ruby 哈希赋值语法,但没有成功;
node[:onClick] = "return true;"
编辑(完整错误):
undefined method `[]=' for # <Capybara::Element tag="a"> (NoMethodError)
如有任何帮助,我们将不胜感激!
最佳答案
我不知道这是否可行,但我想我有适合您的解决方法。
您可以使用 page.execute_script
通过 JavaScript 更改节点的 onClick
值。
这将类似于 page.execute_script("$('#some-element').attr('onClick', 'return true;')")
关于ruby - Capybara - 覆盖节点上的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17562382/