【问题标题】:Selenium set Browser Chrome in OffLine modeSelenium 将浏览器 Chrome 设置为离线模式
【发布时间】:2016-11-10 15:55:37
【问题描述】:
我正在 Chrome 浏览器中测试一个 Javascript 应用程序。我想加载页面,加载后我想将浏览器切换到离线模式。
请注意,我不想在离线模式下启动浏览器,如下所述:Selenium: How to set browser in offline mode?。相反,我想启动连接的浏览器,然后在特定的时刻将其关闭。
请注意,我不想使用鼠标手动执行此操作,因为这是为了使用 Selenium 创建自动化测试。所以我需要能够通过脚本发送指令以某种方式下线。
有没有使用 Chrome 来做到这一点?我可以修改执行 javascript 的浏览器配置吗? (可能不是出于安全原因,但仍然想知道)
非常感谢您的帮助。
【问题讨论】:
标签:
javascript
google-chrome
selenium
【解决方案1】:
在 Python 中,可以这样实现:
driver.set_network_conditions(offline=True, latency=5, throughput=500 * 1024)
PS:我使用的是 ChromeDriver 2.32。
【解决方案2】:
在Java中,您可以使用以下代码来关闭WiFi:
protected void disConnectInternet() throws IOException {
Map map = new HashMap();
map.put("offline", true);
map.put("latency", 5);
map.put("download_throughput", 500);
map.put("upload_throughput", 1024);
CommandExecutor executor = ((ChromeDriver)driver).getCommandExecutor();
Response response = executor.execute(
new Command(((ChromeDriver)driver).getSessionId(), "setNetworkConditions", ImmutableMap.of("network_conditions", ImmutableMap.copyOf(map))));
}
【解决方案3】:
正如所写。发布notes:
ChromeDriver v2.26 (2016-12-09)
已解决问题 984:扩展 ChromeDriver 功能以覆盖网络
Chrome DevTools 的节流功能 [['OS-All', 'Pri-2']]
Here 是有关此任务的完整历史记录。
但是没有例子,也没有回答它是如何工作的。