就我而言,我想提取与 UI 交互后将调用的 api。据我所知,在 selenium 4.x 版本中,我们可以使用 DevTools 添加这样的监听器
devTools = ((HasDevTools) driver).getDevTools();
devTools.createSession();
devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty()));
devTools.addListener(Network.requestWillBeSent(),
entry -> {
System.out.println("Request URI : " + entry.getRequest().getUrl()+"\n"
+ " With method : "+entry.getRequest().getMethod() + "\n");
entry.getRequest().getMethod();
});
}
在空手道中,我使用 driver.method('Network.enable').send() 然后尝试使用模拟服务器 driver.intercept() 然后保存请求信息,但我无法像正常一样继续请求, driver().method( 'Fetch.enable')但是什么也不能用。对于这种情况有什么建议吗?
我建议你不要关注selenium 的作用。您是否需要从被拦截的 API 调用中获取数据?那么这个答案应该有帮助:https://stackoverflow.com/a/76680528/143475