在 Chrome 开发工具的“网络”选项卡中,我们可以通过单击“禁用缓存”复选框来禁用缓存。refer
可以使用以下命令复制相同的行为Chrome 开发者工具协议Selenium 4 中的支持。
我们可以用'网络.setCacheDisabled'来自 Chrome DevTools 协议
Toggles ignoring cache for each request. If true, cache will not be used.
parameters
cacheDisabled
boolean
Cache disabled state.
示例来自 DevTools 的 Selenium 测试
import org.openqa.selenium.devtools.network.Network;
@Test
public void verifyCacheDisabledAndClearCache() {
ChromeDriver driver = new ChromeDriver();
DevTools devTools = driver.getDevTools();
devTools.createSession();
devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.of(100000000)));
driver.get("http://www.google.com");
devTools.send(Network.setCacheDisabled(true));
devTools.addListener(Network.responseReceived(), responseReceived -> assertEquals(false, responseReceived.getResponse().getFromDiskCache()));
driver.get("http://www.google.com");
devTools.send(Network.clearBrowserCache());
}
getFromDiskCache() -- 指定是否从磁盘缓存提供请求。
对于上面的代码,它将是false
您可以参考硒存储库对于所有示例测试开发工具/ChromeDevToolsNetworkTest.java
对于开发工具 Maven 依赖项
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-devtools -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-devtools</artifactId>
<version>4.0.0-alpha-6</version>
</dependency>