单击按钮后捕获api请求

olhwl3o2  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(422)

场景:我们有一个应用程序,它根据表单中给定的过滤器(复选框、单选按钮、下拉列表、文本框)生成报告。一旦用户单击“生成报告”按钮,就会调用api请求头请求并下载pdf/csv报告。
我可以在浏览器网络选项卡的
headers[tab]->请求头-:path api/path/to/download/pdf
headers[tab]->请求url:full/api/path/url/to/download/pdf
我们可以使用javascript/java捕获这个请求url吗?

pbpqsu0x

pbpqsu0x1#

您需要使用代理来捕获webrequests。browsermob代理是一种流行的selenium代理。
请参见下面的示例https://www.seleniumeasy.com/selenium-tutorials/browsermob-proxy-selenium-example:

// start the proxy
    proxy = new BrowserMobProxyServer();
    proxy.start(0);

    //get the Selenium proxy object - org.openqa.selenium.Proxy;
    Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);

    // configure it as a desired capability
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);

    //set chromedriver system property
    System.setProperty("webdriver.chrome.driver", driverPath+"chromedriver.exe");
    driver = new ChromeDriver(capabilities);

    // enable more detailed HAR capture, if desired (see CaptureType for the complete list)
    proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);

    // create a new HAR with the label "seleniumeasy.com"
    proxy.newHar("seleniumeasy.com");

    // open seleniumeasy.com
    driver.get("https://seleniumeasy.com/");

相关问题