ネットワークリクエストを傍受するためにセレンを使用しています。今、リクエストをリッスンして傍受するコードを書きましたが、すべてのリクエストをjsonファイルに書き込むのに苦労しています。これが私のコードです:
public class SeleniumFourFeaturesTest {
WebDriver driver;
DevTools tool;
@BeforeClass
public void startSession() {
//Set Chrome Driver
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
//Set Dev-Tools and create a session
tool = ((ChromeDriver)driver).getDevTools();
tool.createSession();
}
@Test(enabled=false)
public void test1() {
driver.findElement(By.xpath("//div[@class='list-group']/a[1]")).click();
driver.findElement(By.id("ap_email")).sendKeys("test123");
driver.findElement(By.id("ap_password")).sendKeys("12345");
driver.findElement(RelativeLocator.withTagName("input").below(By.id("ap_password"))).click();
}
@Test
public void interceptRequestAndContinue() throws InterruptedException {
//enable Network
tool.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty()));
//add listener to intercept request and continue
tool.addListener(Network.requestIntercepted(),
requestIntercepted -> tool.send(
Network.continueInterceptedRequest(requestIntercepted.getInterceptionId(),
Optional.empty(),
Optional.empty(),
Optional.empty(), Optional.empty(),
Optional.empty(),
Optional.empty(), Optional.empty())));
//set request interception only for css requests
RequestPattern requestPattern = new RequestPattern("*.css", ResourceType.Stylesheet, InterceptionStage.HeadersReceived);
tool.send(Network.setRequestInterception(ImmutableList.of(requestPattern)));
driver.get("https://www.google.com");
Thread.sleep(30000);
}
}
コードの最後でリクエストをjsonファイルに書き込めるようにしたい