我有一个用 python 机器人框架编写的测试脚本,它可以浏览网站并测试其页面。该网站有时需要从服务器刷新其所有内容,即它需要无缓存刷新。
Robot Framework selenium2library 有一个
reload page
方法,它简单地执行 Refresh-If-Modified。在 Python 中,我可以使用 driver.refresh()
来做同样的事情。
我在机器人框架中尝试了
Press Key
,在python中尝试了driver.send_keys(Keys.COMMAND + Keys.F5)
和driver.get(url)
;他们都没有成功!
知道怎么做吗?
澄清一下,一个
No-Cache Refresh
,从它的服务器检索所有网站数据,而不管它在服务器上的更改,但是一个Refresh-If-Modified
首先向服务器发送请求并要求更改,然后它只请求检索修改后的数据.
Chrome 和 Firefox 在 selenium 机器人启动这些浏览器时以不同的方式处理缓存。
确保清除浏览器缓存,我使用关闭所有浏览器关键字,因为它重置浏览器缓存(http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Close%20All%20Browsers)然后我打开再次浏览器。
所以也许您还会使用“删除所有 Cookies”关键字
您可以通过 javascript 的
location.reload()
,将true
传递给调用 - https://developer.mozilla.org/en-US/docs/Web/API/Location/reload
Execute Javascript window.location.reload(true);
然而 YMMV - 一些浏览器试图超越它,这是 js 开发人员的常见问题。