当前位置: 首页 > 知识库问答 >
问题:

UnhandledAlertException:意外警报打开:{警报文本:保存成功。}

宗政子辰
2023-03-14

我在Selenium中处理Chrome驱动程序弹出的警告时遇到了以下错误。

Exception in thread "main" org.openqa.selenium.UnhandledAlertException: unexpected alert open: {Alert text : Save successfully.}

场景:

当两个警报立即出现时,就会发生这种情况。

出现第一个警报弹出窗口,我正在处理它:

Alert alertf = driver.switchTo().alert();
alertf.accept();

立即出现下一个警报,我使用了等待,然后实施了另一个警报

Alert alert2 = driver.switchTo().alert();
alert2.accept();

但这失败了。

执行在第一个警报时停止。

完全错误:

Exception in thread "main" org.openqa.selenium.UnhandledAlertException: unexpected alert open: {Alert text : Save successfully.}
(Session info: chrome=71.0.3578.98)
(Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.10586 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds: null
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:03.216Z'
System info: host: 'KADALI7', ip: '15.75.149.101', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '10.0.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.44.609538 (b655c5a60b0b54..., userDataDir: C:\Users\kadali\AppData\Loc...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:2130}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 71.0.3578.98, webStorageEnabled: true}
Session ID: 2175d3b0d47212f94e61f6e71c8ca535
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:172)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:4

共有1个答案

谢高峯
2023-03-14

如果忽略警报不会影响您的场景,您可以简单地使用ovverride警报方法,通过在警报之前执行javascript代码来克服此问题,这正是导致错误的原因:

window.alert = function() {};
 类似资料:
  • 问题内容: 由于弹出窗口 ,Selenium投掷出现问题 警报具有和按钮。我知道两种解决方法 第一种方法是重新打开一个新会话 第二种方法是使用Robot类 但是,这种方法不是省时的。有什么更好的办法吗? 问题答案: 这应该可以解决问题:

  • 我试图在。ics文件中实现警报()。其思想是,每当在系统中创建指定的记录时,就会发送带有邀请的自动电子邮件。该事件工作正常,它正在发送,我能够添加到日历(谷歌日历和iPhone/Mac日历)。 所以问题是:是谷歌和苹果忽视了这些VALARM组件,还是我做错了什么? 我是否正确理解这个带有动作的警报应该只是在浏览器(谷歌日历)和日历应用程序中向我显示一个弹出窗口? 我的文件正文: null

  • 本章将讨论警报和Bootstrap为警报提供的类。 警报提供了一种为用户设置消息样式的方法。 它们为典型的用户操作提供上下文反馈消息。 您可以添加可选的关闭图标以发出警报。 对于内联解雇,请使用Alerts jQuery插件 。 您可以通过创建包装器并添加.alert类和四个上下文类之一(例如, .alert-success, .alert-info, .alert-warning, .alert

  • 如何将以下警报转换为ESLint可接受的警报? 我的构建失败,因为显然我不能使用"警报"。我想在加载某个东西时调用此警报。此代码工作成功,但不符合ESLint。 http://eslint.org/docs/rules/no-alert 如何修改代码使其成功构建? 提前感谢:)

  • Logstash 中有两个 output 插件是 nagios 有关的。outputs/nagios 插件发送数据给本机的 nagios.cmd 管道命令文件,outputs/nagios_nsca 插件则是 调用 send_nsca 命令以 NSCA 协议格式把数据发送给 nagios 服务器(远端或者本地皆可)。 Nagios.Cmd nagios.cmd 是 nagios 服务器的核心组件。

  • 一键报警 基本描述 在不方便语音通话的场景下,求助人无需进行复杂的信息编辑,可由平台提供更准确的实时定位信息、求助人和同车人信息和音视频信息供警方使用。接入一键报警后,当紧急状况发生时,乘车人可点击“呼叫110”,直接拨打本地110,与此同时滴滴侧会将乘车人此时的用车状态,包括车辆、司机信息以及当前所在位置等信息以短信的形式发送给乘车人的紧急联系人。 *受运营商和实时信号影响,定位和短信服务可能存