【问题标题】:How to do a forced page refresh using selenium webdriver?如何使用 selenium webdriver 进行强制页面刷新?
【发布时间】:2012-01-14 04:11:42
【问题描述】:

在我的自动化中,有一次我必须刷新页面以获取更新的页面内容。但是在刷新期间,网页要求确认重新发送数据(基本上页面上会显示警报)。

即使我将焦点切换到警报并接受它,页面内容也没有得到刷新。如果我手动执行相同操作,页面内容会被刷新。

除了 navigate().refresh() 命令之外,还有其他方法可以使用 Selenium Webdriver 刷新页面吗?

或者有什么方法可以在不接受警报的情况下单击警报上的重试按钮??

【问题讨论】:

  • 为什么 navigate().refresh() 不能满足您的需求?
  • 我在 IE8 中测试这个场景,navigation().refresh() 没有刷新页面内容。
  • 您是否尝试过在任何 Selenium 用户组上发帖?也许这是一个已知的错误......
  • 同样的问题在这里有一个很棒的答案stackoverflow.com/questions/10245641/…

标签: selenium page-refresh


【解决方案1】:

使用 Java 在 Selenium Webdriver 中刷新页面:

public boolean refresh()
{

    boolean executedActionStatus = false;       
    try{

        ((JavascriptExecutor)driver).executeScript("document.location.reload()");

        Thread.sleep(2000);
        executedActionStatus = true;
    }
    catch(Exception er)
    {       
        er.printStackTrace();
        getScreenShot(method_TableName, "ExpCaseShot");
        log.error(er);
    }       
    return executedActionStatus;
}

【讨论】:

    【解决方案2】:

    在 ruby​​ 中尝试使用这个 - @driver.switch_to.alert.accept

    这将点击重新发送

    java代码driver.switchTo().alert().accept();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 2014-04-12
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多