Skip to main content

Dialog

Dialog objects are dispatched by page via the [event: Page.dialog] event.

An example of using Dialog class:

def handle_dialog(dialog)
puts "[#{dialog.type}] #{dialog.message}"
if dialog.message =~ /foo/
dialog.accept
else
dialog.dismiss
end
end

page.on("dialog", method(:handle_dialog))
page.evaluate("confirm('foo')") # will be accepted
# => [confirm] foo
page.evaluate("alert('bar')") # will be dismissed
# => [alert] bar

NOTE: Dialogs are dismissed automatically, unless there is a [event: Page.dialog] listener. When listener is present, it must either Dialog#accept or Dialog#dismiss the dialog - otherwise the page will freeze waiting for the dialog, and actions like click will never finish.

accept​

def accept(promptText: nil)

Returns when the dialog has been accepted.

default_value​

def default_value

If dialog is prompt, returns default prompt value. Otherwise, returns empty string.

dismiss​

def dismiss

Returns when the dialog has been dismissed.

message​

def message

A message displayed in the dialog.

page​

def page

The page that initiated this dialog, if available.

type​

def type

Returns dialog's type, can be one of alert, beforeunload, confirm or prompt.