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.