如何使用 selenium/javascript 在 Safari 中单击浏览器后退按钮

How to click Browser back button in Safari using selenium/javascript

我在 Safari 中使用 selenium 自动化。使用 driver.navigate.back()

似乎有问题

所以我用了:

((JavascriptExecutor)driver).executeScript("history.back")
((JavascriptExecutor)driver).executeScript("history.go(-1)")

但此代码将转到上一页,而不是实际单击浏览器后退按钮。我通过手动确认。如果我在我的应用程序中手动执行,它会弹出一个对话框说 "do you want to leave this page?" 但是使用这段代码它不会发生。

基于此 open issue,Safari 似乎重新加载了一个旧页面。它没有完全初始化页面的扩展。

因此硒 does not support it:

safaridriver.inject.commands.unsupportedHistoryNavigation = function() {
  throw Error('Yikes! Safari history navigation does not work. We can ' +
      'go forward or back, but once we do, we can no longer ' +
      'communicate with the page...');
};