如何使用 selenium webdriver 进行强制页面刷新?
Posted
技术标签:
【中文标题】如何使用 selenium webdriver 进行强制页面刷新?【英文标题】:How to do a forced page refresh using selenium webdriver? 【发布时间】:2012-01-14 04:11:42 【问题描述】:在我的自动化中,有一次我必须刷新页面以获取更新的页面内容。但是在刷新期间,网页要求确认重新发送数据(基本上页面上会显示警报)。
即使我将焦点切换到警报并接受它,页面内容也没有得到刷新。如果我手动执行相同操作,页面内容会被刷新。
除了 navigate().refresh() 命令之外,还有其他方法可以使用 Selenium Webdriver 刷新页面吗?
或者有什么方法可以在不接受警报的情况下单击警报上的重试按钮??
【问题讨论】:
为什么 navigate().refresh() 不能满足您的需求? 我在 IE8 中测试这个场景,navigation().refresh() 没有刷新页面内容。 您是否尝试过在任何 Selenium 用户组上发帖?也许这是一个已知的错误...... 同样的问题在这里有一个很棒的答案***.com/questions/10245641/… 【参考方案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();
【讨论】:
以上是关于如何使用 selenium webdriver 进行强制页面刷新?的主要内容,如果未能解决你的问题,请参考以下文章
Selenium & webdriver.io 如何使用 executeScript?
如何使用selenium webdriver来判断一个网页加载完毕
如何使用 C# 在 Selenium WebDriver (Selenium 2) 中最大化浏览器窗口?
如何在 ruby 中使用 Selenium WebDriver (selenium 2.0) 客户端设置选项