Today I had a javascript prompt where a user could enter the number of rows he wants to export. A cucumber step I have implemented to supress the dialog looks like this

Given /^I accept prompt dialogs with "([^"]*)"$/ do |accept, value|
  page.evaluate_script 'window.original_prompt_function = window.prompt;'
  page.evaluate_script "window.prompt = function(msg) { return '#{value}'; }"
end

If you want to supress a simple confirmation dialog (Cancel / Ok) you can use a step like this

Given /^I (accept|deny) confirmation dialogs$/ do |accept|
  page.evaluate_script("window.confirm = function() { return #{(accept == 'accept').to_s}; }")
end

It’s important that you use the step BEFORE you invoke the button.