如何使用水豚/硒映射浏览器对话框



使用水硒处理浏览器对话框(带有确定/取消按钮)的最佳方法是什么?

我发现最简单的方法是运行以下命令:

dialog = page.driver.browser.switch_to.alert
dialog.accept

有什么更好的方法吗?

谁打倒了这篇文章,请给出一个正当的理由......无缘无故地投反对票是没有帮助的

在可能的情况下,应尽量避免直接使用基础驱动程序。通过使用Capybara的API,如果你想改变驱动程序并且存在驱动程序API差异,那么(理论上)你将处于更好的位置。

在Capyabara的项目页面中,处理模态对话框的方法是:

在支持它的驱动程序中,您可以接受、关闭和响应 警报、确认和提示。

您可以通过包装以下代码来接受或关闭警报消息: 在块中生成警报:

accept_alert do
  click_link('Show Alert')
end
您可以通过将确认

包装在块中来接受或关闭确认,因为 井:

dismiss_confirm do
  click_link('Show Confirm')
end

您也可以接受或关闭提示,还可以向 填写回复:

accept_prompt(with: 'Linus Torvalds') do
  click_link('Show Prompt About Linux')
end

所有模式方法都返回显示的消息。所以,你可以 通过将返回分配给变量来访问提示消息:

message = accept_prompt(with: 'Linus Torvalds') do
  click_link('Show Prompt About Linux')
end
expect(message).to eq('Who is the chief architect of Linux?')

相关内容

最新更新