Selenium 2 - 由后退按钮触发的 Javascript 警报会阻止 driver.navigate().back()

发布于 2024-11-27 19:14:23 字数 310 浏览 2 评论 0原文

我需要处理按下后退按钮时触发的 JavaScript 警报。即:

  1. 转到我们的网站
  2. 点击返回
  3. Javascript 警报将弹出
  4. 关闭警报

    我实现了一个测试,该测试在 Firefox 中运行良好,但在 Internet Explorer (7) 中,driver.navigate.back() 方法会阻塞,直到手动删除警报为止。

    有人以前遇到过这个吗?任何提示将不胜感激:)

    我使用 RemoteWebDriver 进行此测试。

标记

I need to handle a javascript alert which is triggered when the back button is pressed. i.e.:

  1. Go to our site
  2. Click back
  3. Javascript alert will pop up
  4. Dismiss alert

    I implemented a test which works fine in firefox but in Internet Explorer (7), the driver.navigate.back() method blocks until the alert is manually removed.

    Has anyone come across this before? Any hints would be highly appreciated :)

    I am using RemoteWebDriver for this test.

Mark

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风向决定发型 2024-12-04 19:14:23

如果您使用 RemoteWebDriver,则可以使用 RemoteTargetLocator 内部类,它实现了处理警报的方法:

driver.switchTo().alert().accept()

If you are using RemoteWebDriver you can use the RemoteTargetLocator inner class, it implements methods to handle alerts:

driver.switchTo().alert().accept()
小嗲 2024-12-04 19:14:23

我设法通过发送以下 javascript 命令而不是使用 navigator().back() 来解决此问题:

driver.executeScript(javascript: setTimeout(\"history.go(-1)\", 2000));

I managed to solve this by sending the following javascript command instead of using navigate().back():

driver.executeScript(javascript: setTimeout(\"history.go(-1)\", 2000));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文